@@ -173,11 +173,9 @@ The `phen` command is used phenotype-related operations.
...
@@ -173,11 +173,9 @@ The `phen` command is used phenotype-related operations.
-`-d`, `--phen-dir`: (Optional) Directory of current phenotype configuration (the default is ./build/phen).
-`-d`, `--phen-dir`: (Optional) Directory of current phenotype configuration (the default is ./build/phen).
-`-old`, `--phen-dir-old`: (Required) Directory of old phenotype version)
-`-old`, `--phen-dir-old`: (Required) Directory of old phenotype version)
# Development
# Development Guide
# Developer Usage Guide for ACMC
## Prerequisites
## Installation
To install the ACMC package for development, ensure you have Python 3.9 or later installed.
To install the ACMC package for development, ensure you have Python 3.9 or later installed.
### Clone the Repository
### Clone the Repository
...
@@ -205,13 +203,13 @@ This will create a virtual environment with all required dependencies.
...
@@ -205,13 +203,13 @@ This will create a virtual environment with all required dependencies.
## Development Environment
## Development Environment
By defining two separate environments, we ensure that development dependencies (such as testing tools, linters, or other utilities) don't interfere with your production environment. The default environment is the bare minimum required to run the application, while the dev environment includes everything need for development.
We have two separate environments to ensure that development dependencies (such as testing tools, linters, or other utilities) don't interfere the production environment.
- default environment: Includes the core dependencies your app needs to run (e.g., requests, etc.).
- default environment: includes the core dependencies to run acmc (e.g., requests, etc.).
- dev environment: Includes additional tools for testing, code formatting, linting, and other development workflows (e.g., pytest, black, mypy, etc.).
- dev environment: includes additional tools for testing, code formatting, linting, and other development workflows (e.g., pytest, black, mypy, etc.).
### Activate Default Environment
### Activate Production Environment
To enter the development environment, use:
To enter the production environment, use:
```sh
```sh
hatch shell
hatch shell
...
@@ -225,12 +223,20 @@ hatch shell dev
...
@@ -225,12 +223,20 @@ hatch shell dev
```
```
### Code Formatting
### Code Formatting
The project uses `black` for code formatting. Ensure your code is properly formatted before committing:
The project uses `black` for code formatting. Ensure your code is properly formatted before committing
To check if any of the code needs to be formatted, run black with the `--check` option
```sh
```sh
hatch run black --check acmc
hatch run black --check acmc
```
```
To format the coode and modify the files, use
```sh
hatch run black acmc
```
### Type Checking
### Type Checking
The project uses `mypy` for type checking:
The project uses `mypy` for type checking:
...
@@ -239,7 +245,7 @@ hatch run mypy -p acmc
...
@@ -239,7 +245,7 @@ hatch run mypy -p acmc
```
```
### Running Tests
### Running Tests
Run tests using `pytest`:
To run tests using `pytest`, use:
```sh
```sh
hatch run pytest
hatch run pytest
...
@@ -253,7 +259,7 @@ hatch build
...
@@ -253,7 +259,7 @@ hatch build
```
```
## Running the CLI
## Running the CLI
The package provides a command-line interface (CLI) entry point. To run it:
The package provides a command-line interface (CLI) entry point.
```sh
```sh
acmc --help
acmc --help
...
@@ -261,7 +267,7 @@ acmc --help
...
@@ -261,7 +267,7 @@ acmc --help
## Contributing
## Contributing
### GitLab Basic Workflow
### GitLab Basic Workflow Overview
1. Create an new issue in the [Issue Tracker](https://git.soton.ac.uk/meldb/concepts-processing/-/issues)
1. Create an new issue in the [Issue Tracker](https://git.soton.ac.uk/meldb/concepts-processing/-/issues)