Metadata-Version: 2.4
Name: modelarchive-py
Version: 3.2.0
Summary: modelarchive - Functionality around ModelArchive.org & ModelCIF.
Author-email: Bienchen <stefan.bienert@unibas.ch>
Project-URL: changelog, https://git.scicore.unibas.ch/schwede/modelarchive-py/-/blob/main/CHANGELOG.md
Project-URL: documentation, https://modelarchive-py.readthedocs.io/
Project-URL: repository, https://git.scicore.unibas.ch/schwede/modelarchive-py
Project-URL: homepage, https://modelarchive.org
Requires-Python: >=3.10.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: gemmi>=0.7.4
Requires-Dist: modelcif>=1.6
Requires-Dist: numpy
Requires-Dist: parasail>=1.3.4
Requires-Dist: requests
Provides-Extra: dev
Requires-Dist: black>=26; extra == "dev"
Requires-Dist: pylint>=4; extra == "dev"
Requires-Dist: pytest-cov>=7; extra == "dev"
Requires-Dist: pytest>=9; extra == "dev"
Dynamic: license-file

<!--  Copyright 2026 SIB - Swiss Institute of Bioinformatics and Biozentrum -
University of Basel
Copying and distribution of this file, with or without modification, are
permitted provided the copyright notice and this notice are preserved.
-->

# modelarchive - The ModelArchive Python package

https://modelarchive.org/

`modelarchive` collects all Python functionality developed for ModelArchive
in a single package - essentially the “Everything ModelArchive” toolkit.

Yes, the name is a bit long, but `ma` alone felt too short ;)
You can conveniently import it as:

```python
import modelarchive as ma
```

The package is organised into submodules covering different areas of
functionality. Currently available:

- `modelcif`: help with editing ModelCIF files, translating from legacy PDB
               format and extending existing ModelCIf-formatted files


## Installation

From [PyPI](https://pypi.org/project/modelarchive-py/):
```bash
pip install modelarchive-py
```

From source:
```bash
git clone https://git.scicore.unibas.ch/schwede/modelarchive-py
cd modelarchive-py
pip install .
```

For development, to see code changes immediately effective in your environment
and to include development tools, run:
```bash
 pip install -e ".[dev]"
```

## Versioning/ requirements.txt

`modelarchive` follows [Semantic Versioning](https://semver.org), so you can
safely depend on `modelarchive-py>=<MAJOR VERSION>.0.0` to get updates
without breaking changes.

## Documentation

Documentation is kept up to date
[here](https://modelarchive-py.readthedocs.io/). There is the
[stable](https://modelarchive-py.readthedocs.io/stable/) version, pointing to
the current release, and there is
[latest](https://modelarchive-py.readthedocs.io/latest/), pointing to the `dev`
branch. Older versions of the documentation are also kept available.

## Developing ModelArchive

- install `doc/requirements.txt`, if you want to build the documentation
- consider copying [`hooks/pre-push`](hooks/pre-push) to `.git/hooks/` for
  version number checks
- best install the package to get all requirements resolved
- run pytest as `python3 -m pytest [-s]` (`pytest` will be installed with
  `[dev]`)
- in the `doc/` subdirectory, run `make html` to create the documentation
- in the `doc/` subdirectory, run `make doctest` to run Doctests
- updating the package on PyPi happens via our CI/CD pipeline
  - merge `dev` into `main`
  - edit `CHANGELOG.md`
  - push a tag of form `<Major>.<Minor>.<Bugfix>`
  - runs the release pipeline to create a package on PyPi and a release in GitLab
  - merge `main` into `dev`
- updating the Read the Docs page happens via our CI/CD pipeline
  - push to `dev` to update `latest`
  - push release tag to update `stable`


<!--  LocalWords:  modelarchive ModelArchive submodules modelcif PDB ModelCIf
 -->
<!--  LocalWords:  PyPi cd pytest subdirectory html doctest Doctests
 -->
