Metadata-Version: 2.1
Name: dsalgo
Version: 0.3.2
Summary: A package for datastructures and algorithms.
Home-page: https://github.com/kagemeka/dsalgo-python/README.md
License: MIT
Keywords: algorithm,datastructure
Author: kagemeka
Author-email: kagemeka1@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: nb
Requires-Dist: numba (>=0.56,<0.57) ; (python_version < "3.11") and (extra == "nb")
Requires-Dist: numpy
Requires-Dist: scipy
Project-URL: Documentation, https://kagemeka.github.io/dsalgo-python
Project-URL: Repository, https://github.com/kagemeka/dsalgo-python
Description-Content-Type: text/markdown


# dsalgo

A package for Datastructures and Algorithms written in Python.

[![Python package][ci-badge]][ci-url]
[![PyPI version][pypi-badge]][pypi-url]
[![License: MIT][mit-badge]][mit-url]
[![pre-commit][pre-commit-badge]][pre-commit-url]
[![Github pages][gh-pages-badge]][gh-pages-url]

[ci-badge]: https://github.com/kagemeka/dsalgo-python/actions/workflows/ci.yml/badge.svg
[ci-url]: https://github.com/kagemeka/dsalgo-python/actions/workflows/ci.yml
[pre-commit-badge]: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
[pre-commit-url]: https://github.com/pre-commit/pre-commit
[mit-badge]: https://img.shields.io/badge/License-MIT-blue.svg
[mit-url]: https://opensource.org/licenses/MIT
[pypi-badge]: https://badge.fury.io/py/dsalgo.svg
[pypi-url]: https://badge.fury.io/py/dsalgo
[gh-pages-badge]: https://github.com/kagemeka/dsalgo-python/actions/workflows/pages/pages-build-deployment/badge.svg
[gh-pages-url]: https://kagemeka.github.io/dsalgo-python

## Installation

```bash
python3 -m pip install -U dsalgo

python3 -m pip install -U git+git://github.com/kagemeka/dsalgo-python.git
# for latest unstable version
```

## Development

```sh
docker compose up -d
```

(enter the container)

```sh
./setup.sh
source ~/.bashrc
```

CI before commit

```sh
./ci.sh
```

### documenting

```sh
poetry run pdoc dsalgo --show-source --math -o docs
```

### publish

```sh
poetry config pypi-token.pypi <your token> # only once
poetry build
poetry publish
```

