Metadata-Version: 2.1
Name: cerebrium
Version: 1.30.2
Summary: 
License: AGPL-3.0-only
Author: Elijah Roussos
Author-email: elijah@cerebrium.ai
Requires-Python: >=3.10,<3.13
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: aiofiles (>=23.2.1,<24.0.0)
Requires-Dist: atom (>=0.10.4,<0.11.0)
Requires-Dist: bugsnag (>=4.7.1,<5.0.0)
Requires-Dist: humanize (>=4.10.0,<5.0.0)
Requires-Dist: loguru (>=0.7)
Requires-Dist: packaging (>=24.1,<25.0)
Requires-Dist: pyflakes (>=3.1.0,<4.0.0)
Requires-Dist: pyjwt (>=2.8.0,<3.0.0)
Requires-Dist: pytest (>=8.0.0,<9.0.0)
Requires-Dist: pytz (>=2024.1,<2025.0)
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: requests (>=2.30,<3.0)
Requires-Dist: rich (>=13.7.0,<14.0.0)
Requires-Dist: tenacity (>=8.2,<8.3)
Requires-Dist: termcolor (>=2.4.0,<3.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: tqdm (>=4.64,<4.65)
Requires-Dist: typer (>=0.12)
Requires-Dist: tzlocal (>=5.2,<6.0)
Requires-Dist: uvicorn (>=0.29,<1.0)
Requires-Dist: watchdog (>=4.0.0,<5.0.0)
Requires-Dist: yaspin (>=2.3,<2.4)
Project-URL: Documentation, https://docs.cerebrium.ai/
Project-URL: Homepage, https://www.cerebrium.ai
Description-Content-Type: text/markdown

# Cerebrium CLI

Cerebrium is the Python package built for use with the [Cerebrium](https://www.cerebrium.ai/) platform, which allows you to deploy your machine learning models as a REST API with a single line of code.

For usage consult the [documentation](https://docs.cerebrium.ai/). The repo for the documentation can be found [here](https://github.com/CerebriumAI/docs).

## Releases

The CLI follows semver. Commits should be tagged accordingly:

allowed_types = [
    "build", "chore", "ci", "docs", "feat", "fix",
    "perf", "style", "refactor", "test"
]
minor_types = ["feat"]
patch_types = ["fix", "perf"]

# Testing:

Testing in this repository is performed using pytest.

All tests for the cli-package are located in tests/ in the root directory of this repository.

To run tests, run the following command in the root directory:

1. export PYTHONPATH="${PYTHONPATH}:${pwd}"
2. poetry run pytest tests/unit

This will run all tests in the tests/ directory.

## Notes:

- If you want to run a specific test, you can do so by providing the path to the test file as an argument to pytest. For
  example, to run the test in tests/unit/test_cli.py, you can run the following command:

```bash
poetry run pytest tests/unit/test_cli.py
```

- If you would like to see all printed output from the tests, you can add the -s flag to the pytest command. For
  example:

```bash
poetry run pytest -s tests/unit/test_cli.py
```

- When writing tests:
  - Ensure there are at least one positive and one negative test.
  - Please ensure that the test is isolated from the rest of the system. This means that the test should not rely on any external resources or the state of the system.
  - All CLI tests should be run-able in a temporary directory and there should be no side effects.

## How to run locally

```bash
poetry install
poetry shell
export CEREBRIUM_ENV=dev
which cerebrium
```

this should point to cerebrium-cli/.venv/bin/cerebrium


## How to run PyRight Linter

```bash
poetry run pyright
```
