Metadata-Version: 2.1
Name: morphdb-utils
Version: 0.2.46
Summary: 
Author: Morph
Author-email: contact@morphdb.io
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: morph-project
Requires-Dist: aws-lambda-powertools (>=2.34.2,<3.0.0) ; extra == "morph-project"
Requires-Dist: boto3 (>=1.26.80,<2.0.0) ; extra == "morph-project"
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: colorlog (>=6.8.2,<7.0.0)
Requires-Dist: kaleido (==0.2.1) ; extra == "morph-project"
Requires-Dist: line-profiler (>=4.1.2,<5.0.0) ; extra == "morph-project"
Requires-Dist: matplotlib (==3.5.2) ; extra == "morph-project"
Requires-Dist: openpyxl (>=3.1.2,<4.0.0) ; extra == "morph-project"
Requires-Dist: pandas (==2.1.3) ; extra == "morph-project"
Requires-Dist: plotly (>=5.18.0,<6.0.0) ; extra == "morph-project"
Requires-Dist: pydantic (>=2.5.3,<3.0.0) ; extra == "morph-project"
Requires-Dist: pypika (>=0.48.9,<0.49.0) ; extra == "morph-project"
Requires-Dist: pyppeteer (>=2.0.0,<3.0.0) ; extra == "morph-project"
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: requests (==2.31.0) ; extra == "morph-project"
Requires-Dist: seaborn (>=0.13.2,<0.14.0) ; extra == "morph-project"
Requires-Dist: simplejson (>=3.19.2,<4.0.0) ; extra == "morph-project"
Requires-Dist: sqlparse (>=0.4.4,<0.5.0) ; extra == "morph-project"
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: urllib3 (==1.26.18) ; extra == "morph-project"
Requires-Dist: xlrd (==2.0.1) ; extra == "morph-project"
Description-Content-Type: text/markdown

# Morph

## How to Contribute

### Setting up the development environment

This project uses [pre-commit](https://pre-commit.com/) to enforce code quality and consistency. To install the pre-commit hooks, run the following command:

```shell
pre-commit install
```

### Run poetry install

```shell
poetry cache clear --all pypi

poetry update

poetry install --all-extras
```

### Contributing code

You can install your CLI tool locally to test it:

```shell
pip install --editable .
```

This command installs the package in editable mode, which means changes to the source files will immediately affect the installed package without needing a reinstallation.

## How to Publish

This project uses [poetry](https://python-poetry.org/) to manage dependencies and packaging. To publish a new version of the package, run the following command:

First, update the version in `pyproject.toml` file.

```shell
poetry version patch
git commit -am "Bump version"
git push origin main
```

If you want to update the version of morphdb-utils, you can do it by editing the template file:

```shell
vim core/morph/task/template/pyproject.toml
git commit -am "Update template file"
git push origin main
```

Publish the package:

```shell
poetry publish --build
```

## How to Install the package

First, create a virtual environment and activate it:

```shell
python -m venv venv
source venv/bin/activate
```

Install the dependencies:

```shell
pip install morphdb-utils
pip install 'morphdb-utils[morph-project]'
```

Import the package:

```shell
❯ python
Python 3.11.8 (main, Jun 11 2024, 14:34:56) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from morphdb_utils import annotations
```

