Metadata-Version: 2.1
Name: fixpoint
Version: 0.20.0
Summary: Open source infra for reliable multi-step AI workflows.
Home-page: https://fixpoint.co/
License: License :: OSI Approved :: Apache Software License
Author: Fixpoint
Author-email: team@fixpoint.co
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: all
Provides-Extra: analyze
Provides-Extra: examples
Requires-Dist: cachetools (>=5.3.3,<6.0.0)
Requires-Dist: diskcache (>=5.6.3,<6.0.0)
Requires-Dist: fastapi (>=0.111.0,<0.112.0) ; extra == "examples" or extra == "all"
Requires-Dist: instructor (>=1.2.6,<1.3.0)
Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
Requires-Dist: openai (>=1.30.1,<2.0.0)
Requires-Dist: pandas (>=2.2.2,<3.0.0) ; extra == "analyze" or extra == "examples" or extra == "all"
Requires-Dist: psycopg[binary,pool] (>=3.1.19,<4.0.0)
Requires-Dist: pydantic (>=2)
Requires-Dist: supabase (>=2.5.0,<3.0.0)
Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
Requires-Dist: types-cachetools (>=5.3.0.7,<6.0.0.0)
Requires-Dist: typing-extensions (>=4.7.1)
Project-URL: Repository, https://github.com/gofixpoint/fixpoint
Description-Content-Type: text/markdown

# Fixpoint

Open source infra for reliable multi-step AI workflows.

Build and connect multiple AI agents that know your data and work together to
run autonomous or human-in-the-loop workflows, so that the humans can focus on
more important work.


## Development

We use Poetry, which manages its own virtual environments. To install the
package locally for development:

```
# Installs both the dev and prod dependencies
poetry install

# installs just dev dependencies
poetry install --only main
```

To install the package in an editable mode, so you can import it like `import
fixpoint` from any other code in your virtual-env:

```
pip install -e .
```

### Git hooks

Set up your Githooks via:

```
git config core.hooksPath githooks/

npm install -g lint-staged
```


## Building and publishing

To build the Python package, from the root of the repo just run:

```bash
poetry build
```

This will build a wheel and a tarball in the `dist/` directory.

If you want to test the package locally, you can install the wheel, preferably
in a new standalone virtual environment.

```bash
python3.12 -m venv /tmp/venv
source /tmp/ven/bin/activate
# we use a wildcard so we don't care what version
pip install ./dist/fixpoint-*-py3-none-any.whl

# or install some specific extra dependencies
# Note, you will need to fully specify the wheel, without a wildcard
pip install './dist/fixpoint-0.1.0-py3-none-any.whl[dev]'
```

### Publishing to PyPi

In general, you should not publish from the command line, but instead through
CI. See the `.github/workflows/pypi-release-*.yml` files for the CI actions to
publish to PyPi.

If you want to publish from the CLI, you can configure Poetry for publishing to
the test PyPi and prod PyPi respectively:

```bash
poetry config pypi-token.testpypi <your-test-pypi-token>
```

To publish to the test index:

```bash
poetry publish --repository testpypi
```

### Installing from test repository

If you want to test a pre-release version or a version only on the
[test PyPi repository](https://test.pypi.org/):

```bash
pip install \
    -i https://test.pypi.org/simple/ \
    --extra-index-url https://pypi.org/simple/ \
    fixpoint
```

