Metadata-Version: 2.1
Name: askanna
Version: 0.23.0
Summary: The AskAnna CLI & Python SDK is part of the AskAnna platform to kickstart your data science projects
Project-URL: Homepage, https://askanna.io
Project-URL: Documentation Python SDK, https://docs.askanna.io/python-sdk/
Project-URL: Documentation CLI, https://docs.askanna.io/cli/
Project-URL: Documentation AskAnna, https://docs.askanna.io/
Project-URL: Changelog, https://gitlab.com/askanna/askanna-python/-/blob/master/CHANGELOG.md
Project-URL: Issue Tracker, https://gitlab.com/askanna/askanna-python/issues
Project-URL: Source, https://gitlab.com/askanna/askanna-python
Author-email: AskAnna Team <support@askanna.io>
Maintainer-email: AskAnna Team <support@askanna.io>
License-Expression: BSD-3-Clause
License-File: AUTHORS.md
License-File: LICENSE
Keywords: ai,askanna,data,datascience,ml,versioncontrol
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.7
Requires-Dist: backports-zoneinfo>=0.2.1; python_version < '3.9'
Requires-Dist: click<9.0.0,>=7.1.2
Requires-Dist: cookiecutter<3.0.0,>1.7.0
Requires-Dist: croniter<2.0.0,>=1.0.15
Requires-Dist: email-validator<2.0.0
Requires-Dist: futures~=2.2.0; python_version < '3.10'
Requires-Dist: gitpython<4.0.0,>=3.1.0
Requires-Dist: igittigitt<3.0.0,>=2.0.2
Requires-Dist: python-dateutil<3.0.0,>=2.8.0
Requires-Dist: python-slugify<9.0.0,>=7.0.0
Requires-Dist: pyyaml<7.0.0,>=5.3.1
Requires-Dist: requests<3.0.0,>=2.22.0
Requires-Dist: resumable~=0.1.1
Requires-Dist: typing-extensions<5.0.0,>=4.0.0; python_version < '3.8'
Requires-Dist: tzlocal<5.0,>=2.1
Provides-Extra: dev
Requires-Dist: askanna[test]; extra == 'dev'
Requires-Dist: bandit~=1.7.4; extra == 'dev'
Requires-Dist: black~=23.1.0; extra == 'dev'
Requires-Dist: hatch~=1.6.3; extra == 'dev'
Requires-Dist: isort~=5.12.0; python_version >= '3.8' and extra == 'dev'
Requires-Dist: pre-commit~=2.21.0; python_version < '3.8' and extra == 'dev'
Requires-Dist: pre-commit~=3.0.0; python_version >= '3.8' and extra == 'dev'
Requires-Dist: python-dotenv~=0.21.1; extra == 'dev'
Provides-Extra: test
Requires-Dist: faker~=16.6.1; extra == 'test'
Requires-Dist: numpy~=1.19.5; python_version < '3.8' and extra == 'test'
Requires-Dist: numpy~=1.24.1; python_version >= '3.8' and extra == 'test'
Requires-Dist: pytest-cov~=4.0.0; extra == 'test'
Requires-Dist: pytest~=7.2.1; extra == 'test'
Requires-Dist: responses~=0.22.0; extra == 'test'
Requires-Dist: ruff~=0.0.257; extra == 'test'
Description-Content-Type: text/markdown

# AskAnna CLI & Python SDK

The AskAnna CLI offers a command line interface to the AskAnna platform. With the Python SDK you can run AskAnna
functions directly from your Python script. The CLI & Python SDK simplifies the communication with the AskAnna
platform and provides facilities for supporting every part of a data science project.

[![PyPI](https://img.shields.io/pypi/v/askanna.svg?color=%2334D058)](https://pypi.org/project/askanna/)
[![Python](https://img.shields.io/pypi/pyversions/askanna.svg?color=%2334D058)](https://pypi.org/project/askanna/)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-brightgreen.svg?label=license)](https://gitlab.com/askanna/askanna-python/-/blob/master/LICENSE)
[![Documentation](https://img.shields.io/badge/docs-available-success.svg)](https://docs.askanna.io/)

## Documentation

For the latest information check the [AskAnna Documentation](https://docs.askanna.io/). Or open directly the
documentation for:

* [Command line (CLI)](https://docs.askanna.io/cli/)
* [Python SDK](https://docs.askanna.io/python-sdk/)

## Quickstart

### Install AskAnna

```bash
pip install askanna
```

### Update AskAnna

```bash
pip install -U askanna
```

### Login to AskAnna

```bash
askanna login
```

This will create a `.askanna.yml` in your home directory.

### Authorization token

When the AskAnna CLI & Python SDK is used in for example a CI/CD, one can configure authentication by setting an
environment variable:

```bash
export AA_REMOTE=https://beta-api.askanna.eu
export AA_TOKEN={{ API TOKEN }}
```

The API token can be found in the created `~/.askanna.yml` file after you logged in with `askanna login`.

### How to push code to AskAnna

Run the innit-command on the main directory of your project. The command will create a new project on AskAnna and will
add a `askanna.yml` file to your local project directory. In the `askanna.yml` file you can configure jobs. For more
information, see the [askanna.yml documentation](https://docs.askanna.io/code/#askannayml).

```bash
askanna init
```

If you want to start a project from scratch (or a template), you can run the create-command.

```bash
askanna create
```

With the push-command your code will be uploaded to the project in AskAnna.

```bash
askanna push
```

### Track metrics

To track metrics for your runs, you can use the function `track_metric`. For more information, see the
[metrics documentation](https://docs.askanna.io/metrics/).

```python
from askanna import track_metric

track_metric("name", "value")
```

### Track variables

To track variables for your runs, you can use the function `track_variable`. For more information, see the
[variables documentation](https://docs.askanna.io/variable/tracking/).

```python
from askanna import track_variable

track_variable("name", "value")
```
