Pengwann

Latest version: v0.5.0

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.5.0

New features :rocket:

- Added a small Rust extension 21
- Dropping `pymatgen` via 20 required new code to calculate distance and image matrices, this scaled quite poorly in pure Python.
- The Rust extension is functionally identical to the previous Python, but the compiler is able to unroll the loops and as a result it scales **much** better.

Documentation :book:

- Updated docs with respect to new Rust extension
- The most important addition concerns the fact that building from source now requires the Rust compiler.
- Fixed the installation guide with respect to building the documentation locally (the previous instructions were incorrect).

0.4.0

Breaking changes :boom:
- Added a new `Geometry` dataclass, replacing the `build_geometry` and `assign_wannier_centres` functions.
- As a result of the above, `pymatgen` has finally been dropped as a hard dependency 20

0.3.1

Fixes :hammer_and_wrench:
This is a simple hotfix patch to fix the build for PyPI. The sdist for v0.3.0 was fine but the wheel did not ship with the source code due to a silly mistake in `pyproject.toml`. The PyPI release for v0.3.0 has been yanked and this version has been shipped to solve the problem.

0.3.0

New Features :rocket:
- Added a `read_cell` function to the `io` module to extract the cell vectors from a seedname.win file.
- Added `__str__` methods to all `Interaction` classes for readability.

Fixes :hammer_and_wrench:
- The test suite had become somewhat outdated due to changes in the codebase, it is now up to date and covers almost all code.
- The `AtomicInteractionContainer` was missing a `with_integrals` method, this has now been added.
- `numpy`-style indexing was broken for interactions between like atoms, this has now been fixed.
- More specifically, the same interaction would be returned twice as i <=> j and j <=> i.

Documentation :book:
- Added example `jupyter` notebooks that act as basic tutorials.
- Added a guide for potential contributors detailing guidelines for PRs and a recommended dev workflow.
- Updated the methodology section to reflect changes and additions to the API reference.

0.2.0

New Features :rocket:
- Shared memory parallelism 13
- Simple xyz parser 15
- New data structures that represent interactions between atoms and Wannier functions.
- Numpy-style indexing of new data structures 17

Breaking changes :boom:
- Significant refactoring of the codebase in general:
- Move further towards a "functional-style" approach, more pure functions, less mutability etc.
- Break larger chains of logic into smaller functions, remove now-redundant functions as a result of this.
- Several modules have been renamed:
- `pengwann.dos` -> `pengwann.descriptors`
- `pengwann.occupation_functions` -> `pengwann.occupations`
- The data structures designed to represent interactions have also been moved into a separate module: `pengwann.interactions`.
- In general, the API is structured quite differently to the last release: the magnitude of these changes ought to reduce significantly once we move from alpha->beta development.

Documentation :book:
- Switched to numpy-style docstrings for all source code
- Switched to `numpydoc` for parsing docstrings into `sphinx`
- Switched from the `furo` theme to `pydata-sphinx-theme`
- Switched from pure `autodoc` to `autosummary` to build the API reference

0.1.0

New features :rocket:

- Moving towards feature parity (where relevant) with LOBSTER:
- k-resolved WOHPs and WOBIs 3
- Wannier populations and charges 7
- The density of energy (DOE) 6
- Bond-Weighted Distribution Functions (BWDFs) 5

Breaking changes :boom:

- The `project` method of the `DOS` class now returns a dictionary with keys for each individual atom, rather than whole atomic species.
- e.g. previous return would have looked like `{"Ga" : np.ndarray}`, whereas now you get `{"Ga1" : np.ndarray, "Ga2" : np.ndarray, "As1" : np.ndarray}` etc.

Fixes :hammer_and_wrench:

- Minor changes to docs, variable names and miscellaneous items.

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.