CHANGELOG

v0.5.0 (2025-07-01)

:bug:

  • :bug: Fix a down-casting FutureWarning when assigning Uiso (410d5d9)

:sparkles:

  • :sparkles: New feature: set to get displacement_get_cartesian_eigenvalues (5607fdb)

Other

  • 🔀 Merge pull request #9 from Baharis/development (1d55263)

✨ New feature: set to get displacement_get_cartesian_eigenvalues

v0.4.0 (2025-06-19)

:bug:

  • :bug: Explicitly assert that length of displacement selection is > 0 (d7bf38c)

  • :bug: Fix incorrect labelling when creating new U matrix (9bd7a79)

  • :bug: Remove a print remaining after debugging (ffc1992)

:sparkles:

  • :sparkles: Correctly transform the U matrix when applying transformation with off-diagonal matrix elements (265736a)

  • :sparkles: introduce settings.complete_uiso_from_umatrix (f18ff36)

  • :sparkles: introduce settings.complete_umatrix_from_uiso (09f760e)

Other

  • :white_check_mark: Add a file cobalt.cif for testing (6faaae9)

  • :white_check_mark: Add tests for complete_uiso_from_umatrix and complete_umatrix_from_uiso settings (de820c7)

  • :white_check_mark: Make atoms spherical in ferrocene2.cif test (696e727)

  • :white_check_mark: Test newly-implemented u-matrix transformation (6703b9b)

  • 🔀 Merge pull request #8 from Baharis/development (46e7bd2)

✨ Correctly transform the U matrix when applying transformations

v0.3.1 (2025-06-18)

:bug:

  • :bug: Allow reading ADPs if they are present only for some of the atoms (bf29368)

Other

  • :white_check_mark: Reading from cif should work even if not all atoms are in aniso table (17ec964)

  • 🔀 Merge pull request #7 from Baharis/development (f767f71)

:bug: Allow reading ADPs if they are present only for some of the atoms

v0.3.0 (2025-06-12)

:bug:

  • :bug: Fix changed hikari interface SymmOp became Operation in v 0.3.2 (152d0ee)

:memo:

  • :memo: Add short README documentation for newly-added coordinates and displacement (d3d3a66)

:sparkles:

  • :sparkles: Add instruction coordinates which yields selection’s fractional coords (a476ce5)

  • :sparkles: Add instruction displacement which yields selection’s Uiso and U** (1/2/3) (04624c8)

  • :sparkles: Add simple displacement readout (does not handle symmetry transformations) (eb48098)

Other

  • :construction_worker: Set tool.semantic_release.major_on_zero to avoid accidental release of 1.0.0 (e2c4db3)

  • :test_tube: Add a failing test for overwritten coordinates in table to do in future (fbddce6)

  • :white_check_mark: Add displacement test, modify the ferrocene1.cif to have simple Uisos (521c555)

  • :white_check_mark: Fix broken test_transformed_group test which now looks only for fract (bdf4c12)

  • :white_check_mark: Improve displacement test to also check for _U**, add these to ferrocene2.cif (e36f311)

  • 🔀 Merge pull request #6 from Baharis/development (8b6d2a6)

✨ Add fractional coordinates and displacement parameter commands

v0.2.0 (2024-10-22)

:memo:

  • :memo: Add missing type hints (d6cfe05)

  • :memo: Update docstrings (15d0ccf)

:sparkles:

  • :sparkles: .cif files can now be loaded using glob (86866a0)

  • :sparkles: auto_write_unit_cell when reading cell, add corresponding setting (default True) (7cf85f0)

  • :sparkles: Routines can be now saved in a yaml file by converting Instructions back to dicts (541a328)

  • :sparkles: Add logging, used by __main__ or when add_file_handler is called (49e8a82)

  • :sparkles: Add option and tests to save routine history (8bd79ec)

  • :sparkles: Dihedral angles are now handled explicitly via ‘dihedral’ keyword/handler. (9364084)

Other

  • :coffin: Remove unused process method registration decorators, main (17ae683)

  • :fire: Clean newly unused code, imports (a224000)

  • :recycle: Generalize, make OOM code responsible for handling instructions (e0fa239)

  • :rotating_light: Fix flake8 linting issues, mostly with instructions.py (bdf203e)

  • :white_check_mark: Fix logging tests where closing file in temp dir removes it (85e04e2)

  • Merge pull request #5 from Baharis/development (63d0810)

:sparkles: Improve Routine, loading, add logging, fix dihedral handling

v0.1.3 (2024-10-16)

:bug:

  • :bug: Fix: dihedral angles were always positive (a5e41f1)

:memo:

  • :memo: Document are_(syn/anti)parallel, are_perpendicular func (ce2c5d2)

Other

  • :green_heart: semantic_release: prepend version commits with :bookmark: (e080063)

  • :white_check_mark: Add tests for explicit syn- and anti-parallelism (12d815c)

  • :white_check_mark: Explicitly, separately test for + and - dihedrals (0da665c)

  • 🔀 Merge pull request #4 from Baharis/signed_dihedrals (fe9c262)

🐛 Fix: dihedral angles were always positive, add tests

v0.1.2 (2024-10-16)

:arrow_down:

  • :arrow_down: Slightly relax dependencies (bb81fc8)

:memo:

  • :memo: Update example.ipynb to reflect current README.md (506b613)

Other

Automatically generated by python-semantic-release

  • :art: Fix linting issue in test_shapes.py (0670d9a)

  • :construction_worker: Align semantic release parser with https://gitmoji.dev/ spec (7167bf3)

  • :construction_worker: Run all tests only on PR, 1 otherwise (e4a69d3)

  • :construction_worker: Run all tests only on PR, 1 otherwise (cba1b20)

  • :construction_worker: Run all tests only on PR, 1 otherwise (da8af3b)

  • :construction_worker: Run all tests only on PR, 1 otherwise (753d166)

  • :construction_worker: Run all tests only on PR, 1 otherwise (f41887b)

  • :construction_worker: Run all tests only on PR, 1 otherwise (19d8e8b)

  • :construction_worker: Run all tests only on PR, 1 otherwise (6a127d2)

  • :construction_worker: Run all tests only on PR, 1 otherwise (d157b28)

  • :construction_worker: Run all tests only on PR, 1 otherwise (1d4b6ed)

  • :construction_worker: Run all tests only on PR, 1 otherwise (e1b9df6)

  • :construction_worker: Run all tests only on PR, 1 otherwise (48fe646)

  • :construction_worker: Run all tests only on PR, 1 otherwise (32067b2)

  • :construction_worker: Run all tests only on PR, 1 otherwise (b0ea81b)

  • :construction_worker: Run all tests only on PR, 1 otherwise (910ab84)

  • :construction_worker: Run all tests only on PR, 1 otherwise (a63e23e)

  • :construction_worker: Run all tests only on PR, 1 otherwise (d4ea263)

  • :construction_worker: Run all tests only on PR, 1 otherwise (851fa66)

  • :construction_worker: Run all tests only on PR, 1 otherwise (2a25d4d)

  • :fire: Remove picometer_process.py superseded by __main__.py (f8e1af8)

  • :fire: Remove requirements.dev.txt superseded by poetry (b1d9a65)

  • :green_heart: Don’t specify python version in step name if variable (67b2703)

  • :green_heart: Fix-add “tool.semantic_release.commit_parser_options” config (bc9ac5a)

  • :green_heart: Force reinstall pip to version before 24.1 (6b75080)

  • :green_heart: Force reinstall pip to version before 24.1 (5bd3972)

  • :truck: Move CONDUCT.md to CODE_OF_CONDUCT.md (6f465f8)

  • Merge pull request #3 from Baharis/development (7f95c3f)

:construction_worker: Clear unused code, run all tests only on PR

v0.1.1 (2024-10-15)

Other

Automatically generated by python-semantic-release

  • :fire: Remove failed attempt at semantic versioning check in CI (b38b1be)

  • :green_heart: Add write permissions to the GitHub CD actions (c8bd378)

  • :green_heart: During CD, checkout with ssh-key to avoid master protection (3abee66)

  • :green_heart: Upgrade deprecated codecov/codecov-action@v3 to v4 (9a6bb0d)

  • :green_heart: Upgrade to actions/setup-python@v5, wrap python-version “1.10” (f644b86)

  • Merge branch ‘development’ (b82347b)

  • Merge branch ‘master’ into development (7d40f77)

  • Merge pull request #2 from Baharis/development (10e2835)

:green_heart: Switch to automatic versioning and improve documentation

v0.1.0 (2024-10-14)

:bug:

  • :bug: Fix command line interface for the package (a177cba)

:memo:

  • :memo: Update, add badges to README.md (8459b6f)

Other

  • “make sure to set your default shell to bash when on Windows.” (a4cbd41)

  • :fire: Remove requirements.(dev.)txt superseded by pyproject.toml (11c3ed4)

  • [tool.poetry.dev-dependencies] is deprecated (937ace0)

  • poetry cache would require unwanted poetry.lock (16c4317)

  • Adapt test_write for CI tests (8ba8165)

  • Adapt test_write for CI tests 2 (b71a3c9)

  • Adapt test_write for CI tests 3 (fabc9b2)

  • Adapt whitespace in __init__ (e65d4a1)

  • Add (modified) files suggested by cookiecutter, py-pkgs-cookiecutter (fb4321c)

  • Add CODECOV_TOKEN to github action (cf212b6)

  • Add python-semantic-release as a dev dependency (b03c659)

  • Add continuous integration, documentation, packaging by poetry (#1, 438e8fe)

  • Add (modified) files suggested by cookiecutter, py-pkgs-cookiecutter

  • Rename outer picometer file to avoid name conflict

  • Explicitely install flake8 (might be redundant w/ poetry)

  • Move requirements to pyproject.toml to be handled by poetry

  • Adapt whitespace in __init__

  • Run all tests for picometer

  • Add sphinx and pytest-cov for coverage/documentation

  • Add sphinx and pytest-cov to pyproject.toml

  • Add sphinx dependencies

  • Sphinx autoapi_dirs shouldn’t look for picometer in scr/ directory

  • [tool.poetry.dev-dependencies] is deprecated

  • Since picometer is to be a library, don’t commit poetry.lock

  • Don’t cap dependency versions: https://iscinumpy.dev/post/bound-version-constraints/

  • Lock python version to <4, add jupyter to dev

  • Allow picometer to work on hypothetical python 4

  • Explicitely specify that docs = tests + picometer

  • Rename GitHub workflow files to be more informative

  • Theoretically poetry should install dev dependencies

  • Install dev dependencies group w/ poetry action

  • Tweak, update flake8, codecov GitHub actions

  • Preemptively add some badges

  • Add CODECOV_TOKEN to github action

  • Docs: once on master, should work

  • Update version release date

  • Add snippet for later GitHub CD

  • Add default GitHub testing action as in python-app.yml (96cfe02)

  • Add simple Settings() tests (ffdc6c7)

  • Add simple version counter (dfa16ac)

  • Add snippet for later GitHub CD (bb262a8)

  • Add some applications of “at” syntax, doesn’t work for locators (0f93057)

  • Add some initial basic logging ideas (c202d3b)

  • Add some sample files, tests for ferrocene (63d62fd)

  • Add sphinx and pytest-cov for coverage/documentation (4178687)

  • Add sphinx and pytest-cov to pyproject.toml (996b2e3)

  • Add sphinx dependencies (f35a19b)

  • Allow picometer to work on hypothetical python 4 (3c040bc)

  • Allow semantic release to look at development branch (e93edda)

  • Apply style suggestions proposed by flake8 (e716728)

  • Atomset is now a “spatial-kind implicit directionless” Shape (6ed4fa9)

  • Calling select with no args or label=None clears selection (680fc1b)

  • Check out needs to preceed setup with poetry (183d2a5)

  • Comment test_ferrocene.yaml and remove redundant ferrocene.yaml (0e2779d)

  • Correctly return plane/line type, angles between AtomSets (a2acd07)

  • Create example.yaml file with intended workflow (5d640b3)

  • Docs: once on master, should work (2e0b378)

  • Don’t cap dependency versions: https://iscinumpy.dev/post/bound-version-constraints/ (5d11569)

  • Downgrade pip to use “bad metadata” version of hikari (11b5032)

  • Explicitely install flake8 (might be redundant w/ poetry) (d852105)

  • Explicitely specify that docs = tests + picometer (26f25be)

  • Fix mess with naming, alias functionality (f928d10)

  • Fix tests to account for numeric differences across machines (5950382)

  • Fix typo in mainb file input (14c8037)

  • Flake8 fix, TODO rethink test resources for GitHub actions (4863afd)

  • Force tests to install hikari 0.2.3 despite “invalid metadata” (b680b3a)

  • Force tests to install hikari 0.2.3 despite “invalid metadata” 2 (3e07e7b)

  • Handle settings using a dedicated UserDict subclass (19a6ce9)

  • Idea for clearer input syntax rework (5c06e4c)

  • Implement continuous-deployment with Python Semantic Release (d34a43e)

  • Implement angles between planes, axes, and AtomSets, writing (88850d4)

  • Implement context aware path handling for CI testing (f076e7b)

  • Implement distances between planes, axes, and AtomSets (5e5f597)

  • Initial commit (a6c3de2)

  • Initial rework of the instruction system (c20799e)

  • Install dev dependencies group w/ poetry action (87d84af)

  • Lock python version to <4, add jupyter to dev (422f4b3)

  • Merge remote-tracking branch ‘origin/master’ (e68c8f7)

  • Move parser capabilities to list-routine, adapt tests (e658b57)

  • Move ModelStates, processing to individual files (8a4d362)

  • Move requirements to pyproject.toml to be handled by poetry (305f9a2)

  • Move test utils to test_shapes.py; TODO rethink file structure (e4216ff)

  • Ongling generalization, seems like I got a decent framework (c5bfcf0)

  • Preemptively add some badges (aa6f968)

  • Processes for handling lines & angles + distances & angles between them (5fe4420)

  • Reimplement tests using new syntax (754a359)

  • Rename GitHub workflow files to be more informative (a4726a6)

  • Rename jobs to shorter “CI”, “CD” to better fit GitHub GUI (d7268c2)

  • Rename outer picometer file to avoid name conflict (bdf28b6)

  • Rename setting to more verbose clear_selection_after_use (9af54bc)

  • Rename test/, add README.md, update arg. parsing, settings (77418fa)

  • Replace previous implementation with the new one (5a75f59)

  • Rewritten routine as list-of-instructions only, TODO adapt rest of the code (bba9bba)

  • Run all tests for picometer (850c3b3)

  • Simple implementation of shapes (and their distances, angles) (84049fb)

  • Since picometer is to be a library, don’t commit poetry.lock (5bf107b)

  • Some initial work to try to generalize pirets code (8b36bb9)

  • Sphinx autoapi_dirs shouldn’t look for picometer in scr/ directory (7f91887)

  • Split tests into multiple files, add tests for ExplicitShapes (3abf2b2)

  • Theoretically poetry should install dev dependencies (ab3f94a)

  • Tweak, update flake8, codecov GitHub actions (cfda1ff)

  • Update example.yaml to allow for concurrent definitions (8bb075d)

  • Update python-app.yml (bcaf7ae)

  • Update version release date (1394162)

  • Use “label” as focus key, test centroid, line, plane (528ed46)