Skip to content

Commit

Permalink
Add ability to build out unit cells from CIF files (#11)
Browse files Browse the repository at this point in the history
* Add _str2num and _deg2rad _utils

* Add cif file keys list to sample data

* Add key_value_pairs reader and cell_params reader to parse

* Add tests for key reader

* Add tests for new utils

* Reorder test_key_reader

* Improve documentation for regex

* Add warnings and tests to read_key_value_pairs

* Restore trailing spaces to downloaded CIF files

* Properly track keys containing "-"

* Improved tests for key value pair reader

* Add key-value tests for INTENTIONALLY_BAD_CIF.cif

* Fix docs

* Enable top of page button

* Update brand primary colors

* Improve docs for parse.py

* Add __future__.annotations imports to relevant files

* Fix typo

* Seperate _errors from _templates

* Clean up docstring return types

* Add PDB cif to test suite

* Fix test in test_key_reader

* Clean up patterns.py and add remove_nondelimiting_whitespace

* Update table_reader to use remove_nondelimiting_whitespace

* Allow value reader to read mmCIF files

* Update test_table_reader.py

* Remove seperate mmCIF reader

* Add docs for patterns module

* Fix cast_to_float default value

* Update docs

* Add documentation for __call__

* Update regex_filter param documentation

* Fix typo

* Remove unneeded comment

* Fix default values in docs

* Fix typo

* Minor doc fix

* Fix typo

* Remove duplicate Introduction from index

* Remove duplicate entries from toc

* Add source for PDB cif

* Add mmCIF flag to read_cell_params

* Add quickstart.rst

* Fix comment in quickstart

* Remove unnecessary line in quickstart

* Fix image path in README.rst

* Update regex documentation

* Fix CI

* Update __init__.py

* Add unitcells module

* Add documentation links

* Fix doc file naming

* Remove resolved TODO

* Add top level description to unitcells

* Default regex filters to None

* Fix default setting for nondelimiting_whitespace_replacement

* Remove outdated comment

* Fix tests

* Add tests for symmetry operations

* Fix precision issues

* Increase string lines threshold

* Remove in-file tests

* Return unrounded values

* Add test_extract_unit_cell

* Add distance calculation util for uniqueness comparison

* Add function to build basis vector matrix from box

* Update unitcell builder and rename to extract_atomic_positions

* Update docstrings

* Clarify function naming

* Change space group for IncStrDb_Ccmm.cif to standard format

* Remove unnecessary transpose in basis vector function

* Update unitcell tests to use ase

* Filter out ase warnings

* Switch catch_warnings to filterwarnings for python 3.9 compat

* Add pytest to test requirements

* Fix top of page buttons and add view link

* Fix logo on README.rst

* Add readable assertion error in unitcells.py

* Improve assertion error in _safe_eval

* Remove unused distance-merge code

* Improve CI resilience

* Remove dependabot

* Add requirements.txt for py3.6 and py3.7

* Update requirements.yaml CI action

* Remove temporary lines from ci

* Add future-annotations package

* Fix annotations

* Disable testing on py3.6

* Update doc requirements

* Decapitalize changelog and credits

* Swap tests to us UV

* Fix uv version

* Clean up CI script

* Activate venv

* Remove setup.py

* Fix CI

* Clean up CI

* Simplify CI

* Clean up overview
  • Loading branch information
janbridley authored Dec 20, 2024
1 parent 01d477c commit 844578f
Show file tree
Hide file tree
Showing 35 changed files with 884 additions and 253 deletions.
55 changes: 0 additions & 55 deletions .github/dependabot.yml

This file was deleted.

47 changes: 47 additions & 0 deletions .github/requirements-3.10.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version=3.10 pyproject.toml tests/requirements.in
ase==3.23.0
# via -r tests/requirements.in
contourpy==1.3.1
# via matplotlib
cycler==0.12.1
# via matplotlib
exceptiongroup==1.2.2
# via pytest
fonttools==4.55.3
# via matplotlib
gemmi==0.7.0
# via -r tests/requirements.in
iniconfig==2.0.0
# via pytest
kiwisolver==1.4.7
# via matplotlib
matplotlib==3.10.0
# via ase
numpy==2.2.0
# via
# parsnip (pyproject.toml)
# ase
# contourpy
# matplotlib
# scipy
packaging==24.2
# via
# matplotlib
# pytest
pillow==11.0.0
# via matplotlib
pluggy==1.5.0
# via pytest
pyparsing==3.2.0
# via matplotlib
pytest==8.3.4
# via -r tests/requirements.in
python-dateutil==2.9.0.post0
# via matplotlib
scipy==1.14.1
# via ase
six==1.17.0
# via python-dateutil
tomli==2.2.1
# via pytest
43 changes: 43 additions & 0 deletions .github/requirements-3.11.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version=3.11 pyproject.toml tests/requirements.in
ase==3.23.0
# via -r tests/requirements.in
contourpy==1.3.1
# via matplotlib
cycler==0.12.1
# via matplotlib
fonttools==4.55.3
# via matplotlib
gemmi==0.7.0
# via -r tests/requirements.in
iniconfig==2.0.0
# via pytest
kiwisolver==1.4.7
# via matplotlib
matplotlib==3.10.0
# via ase
numpy==2.2.0
# via
# parsnip (pyproject.toml)
# ase
# contourpy
# matplotlib
# scipy
packaging==24.2
# via
# matplotlib
# pytest
pillow==11.0.0
# via matplotlib
pluggy==1.5.0
# via pytest
pyparsing==3.2.0
# via matplotlib
pytest==8.3.4
# via -r tests/requirements.in
python-dateutil==2.9.0.post0
# via matplotlib
scipy==1.14.1
# via ase
six==1.17.0
# via python-dateutil
43 changes: 43 additions & 0 deletions .github/requirements-3.12.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version=3.12 pyproject.toml tests/requirements.in
ase==3.23.0
# via -r tests/requirements.in
contourpy==1.3.1
# via matplotlib
cycler==0.12.1
# via matplotlib
fonttools==4.55.3
# via matplotlib
gemmi==0.7.0
# via -r tests/requirements.in
iniconfig==2.0.0
# via pytest
kiwisolver==1.4.7
# via matplotlib
matplotlib==3.10.0
# via ase
numpy==2.2.0
# via
# parsnip (pyproject.toml)
# ase
# contourpy
# matplotlib
# scipy
packaging==24.2
# via
# matplotlib
# pytest
pillow==11.0.0
# via matplotlib
pluggy==1.5.0
# via pytest
pyparsing==3.2.0
# via matplotlib
pytest==8.3.4
# via -r tests/requirements.in
python-dateutil==2.9.0.post0
# via matplotlib
scipy==1.14.1
# via ase
six==1.17.0
# via python-dateutil
43 changes: 43 additions & 0 deletions .github/requirements-3.13.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version=3.13 pyproject.toml tests/requirements.in
ase==3.23.0
# via -r tests/requirements.in
contourpy==1.3.1
# via matplotlib
cycler==0.12.1
# via matplotlib
fonttools==4.55.3
# via matplotlib
gemmi==0.7.0
# via -r tests/requirements.in
iniconfig==2.0.0
# via pytest
kiwisolver==1.4.7
# via matplotlib
matplotlib==3.10.0
# via ase
numpy==2.2.0
# via
# parsnip (pyproject.toml)
# ase
# contourpy
# matplotlib
# scipy
packaging==24.2
# via
# matplotlib
# pytest
pillow==11.0.0
# via matplotlib
pluggy==1.5.0
# via pytest
pyparsing==3.2.0
# via matplotlib
pytest==8.3.4
# via -r tests/requirements.in
python-dateutil==2.9.0.post0
# via matplotlib
scipy==1.14.1
# via ase
six==1.17.0
# via python-dateutil
56 changes: 56 additions & 0 deletions .github/requirements-3.6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# manual, required to use __future__ annotations style in py3.6
ase==3.22.1
# via -r tests/requirements.in
cycler==0.11.0
# via matplotlib
exceptiongroup==0.0.0a0
# via pytest
fonttools==4.27.1
# This file was MANUALLY MODIFIED based on an initial state generated via the following command:
# uv pip compile --python-version=3.7 pyproject.toml tests/requirements.in
future-annotations==1.0.0
# via matplotlib
gemmi==0.6.3
# via -r tests/requirements.in
importlib-metadata==4.8.3
# via
# pluggy
# pytest
iniconfig==1.1.1
# via pytest
kiwisolver==1.3.1
# via matplotlib
matplotlib==3.3.4
# via ase
numpy==1.19.5
# via
# parsnip (pyproject.toml)
# ase
# matplotlib
# scipy
packaging==21.3
# via
# matplotlib
# pytest
pillow==8.4.0
# via matplotlib
pluggy==1.0.0
# via pytest
pyparsing==3.1.4
# via matplotlib
pytest==7.0.1
# via -r tests/requirements.in
python-dateutil==2.9.0.post0
# via matplotlib
scipy==1.5.4
# via ase
six==1.17.0
# via python-dateutil
tomli==1.2.3
# via pytest
typing-extensions==4.1.1
# via
# importlib-metadata
# kiwisolver
zipp==3.6.0
# via importlib-metadata
54 changes: 54 additions & 0 deletions .github/requirements-3.7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version=3.7 pyproject.toml tests/requirements.in
ase==3.22.1
# via -r tests/requirements.in
cycler==0.11.0
# via matplotlib
exceptiongroup==1.2.2
# via pytest
fonttools==4.38.0
# via matplotlib
gemmi==0.6.7
# via -r tests/requirements.in
importlib-metadata==6.7.0
# via
# pluggy
# pytest
iniconfig==2.0.0
# via pytest
kiwisolver==1.4.5
# via matplotlib
matplotlib==3.5.3
# via ase
numpy==1.21.6
# via
# parsnip (pyproject.toml)
# ase
# matplotlib
# scipy
packaging==24.0
# via
# matplotlib
# pytest
pillow==9.5.0
# via matplotlib
pluggy==1.2.0
# via pytest
pyparsing==3.1.4
# via matplotlib
pytest==7.4.4
# via -r tests/requirements.in
python-dateutil==2.9.0.post0
# via matplotlib
scipy==1.7.3
# via ase
six==1.17.0
# via python-dateutil
tomli==2.0.1
# via pytest
typing-extensions==4.7.1
# via
# importlib-metadata
# kiwisolver
zipp==3.15.0
# via importlib-metadata
51 changes: 51 additions & 0 deletions .github/requirements-3.8.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version=3.8 pyproject.toml tests/requirements.in
ase==3.23.0
# via -r tests/requirements.in
contourpy==1.1.1
# via matplotlib
cycler==0.12.1
# via matplotlib
exceptiongroup==1.2.2
# via pytest
fonttools==4.55.3
# via matplotlib
gemmi==0.7.0
# via -r tests/requirements.in
importlib-resources==6.4.5
# via matplotlib
iniconfig==2.0.0
# via pytest
kiwisolver==1.4.7
# via matplotlib
matplotlib==3.7.5
# via ase
numpy==1.24.4
# via
# parsnip (pyproject.toml)
# ase
# contourpy
# matplotlib
# scipy
packaging==24.2
# via
# matplotlib
# pytest
pillow==10.4.0
# via matplotlib
pluggy==1.5.0
# via pytest
pyparsing==3.1.4
# via matplotlib
pytest==8.3.4
# via -r tests/requirements.in
python-dateutil==2.9.0.post0
# via matplotlib
scipy==1.10.1
# via ase
six==1.17.0
# via python-dateutil
tomli==2.2.1
# via pytest
zipp==3.20.2
# via importlib-resources
Loading

0 comments on commit 844578f

Please sign in to comment.