PyQuante2
PyQuante is an open-source suite of programs for developing quantum chemistry methods. The program is written in the Python programming language, but has many "rate-determining" modules also written in C for speed. The resulting code, though not as fast as Jaguar, NWChem, Gaussian, or MPQC, is much easier to understand and modify. The goal of this software is not necessarily to provide a working quantum chemistry program (although it will hopefully do that), but rather to provide a well-engineered set of tools so that scientists can construct their own quantum chemistry programs without going through the tedium of having to write every low-level routine.
Installation
From PyPI (recommended)
pip install pyquante2
From source
git clone https://github.com/rpmuller/pyquante2.git
cd pyquante2
pip install -e ".[dev]"
Testing
pytest --doctest-modules
The build procedure does not automatically run cython. You can rebuild the cython wrappers and routines by typing make in the cython subdirectory.
Why rewrite PyQuante?
PyQuante is a Quantum Chemistry Suite written in Python. Over the years, there are many things that I'm growing increasingly unsatisfied with:
- I learned Python (essentially) as I was writing PyQuante, which means that I wasn't as good a programmer when I did most of the writing of the core modules as I am now.
- Python was only at version 1.4-2.0 when I started writing. Many aspects of the language have changed substantially since then, especially the maturity of the numpy module.
I'm playing with PyQuante2 as a way of exploring more intelligent design. I'm slowly moving components over from PyQuante into PyQuante2. My goals are:
- Clean code with a consistent style reflecting Python 2.7;
- Easily understood code structure;
- Much better test suite structure, use of nosetests as a matter of course.
- Extensions
- Written only in Cython
- Not required for base code to function
Of course, it would be nice if this code were also much faster than PyQuante, but I'd be surprised if this happened automatically, and I'm prepared to deal with code performance at a later time.
There is an IPython notebook surveying some of the new features that can be viewed as a gist or on nbviewer.
What works so far:
- Huzinaga and HGP integral methods, both in Python and with Cython wrappers to C
- RHF, UHF wave functions
- MP2 perturbation theory
- A limited number of basis sets (STO-3G, 6-31G, 6-31G**)
- Line and contour plotting
- Basic IPython notebook support for some objects
Feel free to fork this if it interests you. The PyQuante code is still around, so I'm not rushing through the process, I'm just taking as much time as I feel I need to do this properly.
Metadata
Release files for pyquante2 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyquante2-0.2.0.tar.gz | 717.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyquante2-0.2.0-cp313-cp313-macosx_11_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 11.0+ ARM64 | Details |
Total release size: 1.7 MB
Release files / pyquante2-0.2.0.tar.gz
| Download URL | pyquante2-0.2.0.tar.gz |
|---|---|
| Size | 717.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc535a3bda8c7c1de44bc180d8e4808e3f5e635e6694dc7737b80c2367a66e23
|
|
BLAKE2b-256 checksum How to use checksums |
e823bf1a031db0363edc6d8b2fc46990fe3c45d15f47351a4a7044198cd49ef8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / pyquante2-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pyquante2-0.2.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
60ea6abbf9393988832f671f5b81b3029d17b9ad0c819e42918a3e8ac6833701
|
|
BLAKE2b-256 checksum How to use checksums |
8077f948397850ee643c08a83105c1ac0b44238d92bc9a3c226d0cf6c1469cc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for pyquante2 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.