Metadata-Version: 2.1
Name: morph-cli
Version: 0.2.39
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.

## Available commands

### init

Initialize a new Morph project.

Example:
```shell
morph init
```

### new

Create a new Morph project directory.

Example:
```shell
morph new ~/Downloads/test
```

### run

Run an SQL or Python file and produce the results in the output file.

Example:
```shell
# Run a Python file
morph run ~/Downloads/test/src/canvas/canvas1/example_python_cell.py

# Run an SQL file
morph run ~/Downloads/test/src/canvas/canvas1/example_sql_cell.sql
```

### create-file

Create a new file with the specified settings.

Example:
```shell
morph create-file ~/Downloads/test/src/canvas/canvas1/hello.py '{"x": 0, "y": 0, "w": 0, "h": 0}' "print('Hello, World!')" transform '[]' English
```

### update-file

Update the content of an existing file.

Example:
```shell
morph update-file ~/Downloads/test/src/canvas/canvas1/hello.py "print('Updated content')"
```

### delete-file

Delete a specified file.

Example:
```shell
morph delete-file ~/Downloads/test/src/canvas/canvas1/hello.py
```

