@@ -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).
-`-old`, `--phen-dir-old`: (Required) Directory of old phenotype version)
# Development
# Development Guide
# Developer Usage Guide for ACMC
## Installation
## Prerequisites
To install the ACMC package for development, ensure you have Python 3.9 or later installed.
### Clone the Repository
...
...
@@ -205,13 +203,13 @@ This will create a virtual environment with all required dependencies.
## 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.).
- dev environment: Includes additional tools for testing, code formatting, linting, and other development workflows (e.g., pytest, black, mypy, 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.).
### Activate Default Environment
To enter the development environment, use:
### Activate Production Environment
To enter the production environment, use:
```sh
hatch shell
...
...
@@ -225,12 +223,20 @@ hatch shell dev
```
### 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
hatch run black --check acmc
```
To format the coode and modify the files, use
```sh
hatch run black acmc
```
### Type Checking
The project uses `mypy` for type checking:
...
...
@@ -239,7 +245,7 @@ hatch run mypy -p acmc
```
### Running Tests
Run tests using `pytest`:
To run tests using `pytest`, use:
```sh
hatch run pytest
...
...
@@ -253,7 +259,7 @@ hatch build
```
## 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
acmc --help
...
...
@@ -261,7 +267,7 @@ acmc --help
## 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)