Metadata-Version: 2.4
Name: equi2py
Version: 1.0.17
Author-email: FT <ft@gtt-technologies.de>
License: MIT
Requires-Python: >=3.10
Requires-Dist: chemapp>=836.0.0
Requires-Dist: click<9,>=8.1.3
Requires-Dist: jinja2<4,>=3.1.2
Requires-Dist: nbconvert<8,>=7.4.0
Requires-Dist: nbformat<6,>=5.8.0
Requires-Dist: pandas<3,>=2.1.0
Requires-Dist: pyparsing<4,>=3.0.9
Description-Content-Type: text/markdown

Equi2Py
=======

Quick Start (uv)
----------------
1) Install `uv`.
2) Sync the environment:
	- `uv sync`
3) Run the CLI:
	- `uv run python -m equi2py --help`

Python API
----------
`convert` is a plain Python function. The Equilib file is the first argument,
followed by its ChemApp database:

```python
from equi2py import convert

convert(
    equi="Fe-Ni.equi",
    db="Fe-Ni.cst",
    format="ipynb",
    out="output.ipynb",
    include_info=True,
    debug=True,
)
```

If `out` is omitted, the result is written next to the `.equi` input using the
suffix selected by `format`.

Build Locally
-------------
Use isolated PEP 517 builds (hatchling backend):
- `uvx --from build pyproject-build --sdist --wheel`

This writes artifacts to `dist/`.

Build Remotely (GitHub Actions)
-------------------------------
The repository contains a workflow at `.github/workflows/build-on-tag.yml`.
It runs when you push a tag and builds both `sdist` and `wheel` artifacts.

Example:
1) `git tag v1.0.13`
2) `git push origin v1.0.13`

The workflow uploads `dist/*` as a GitHub Actions artifact named `dist-<tag>`.

Run Tests Locally
-----------------
Install test dependencies and run pytest:
- `uv sync --extra dev`
- `uv run pytest`

If your `uv` setup uses dependency groups instead of extras, use:
- `uv sync --group dev`

Notes
-----
- Packaging backend: `hatchling` with VCS-based dynamic versioning (`hatch-vcs`).
- Requires Python 3.13.
- ChemApp is provided from a local wheel path via `tool.uv.sources` in `pyproject.toml`.
