Skip to content
Snippets Groups Projects
Commit c82cfa17 authored by mjbonifa's avatar mjbonifa
Browse files

docs (documentation): initial hatch docs #7

parent bfda9c4d
No related branches found
No related tags found
No related merge requests found
...@@ -13,7 +13,7 @@ __pycache__ ...@@ -13,7 +13,7 @@ __pycache__
~$* ~$*
# Build # Build
.tox/ venv/*
# ACMC phenotype build files # ACMC phenotype build files
......
...@@ -175,6 +175,103 @@ The `phen` command is used phenotype-related operations. ...@@ -175,6 +175,103 @@ The `phen` command is used phenotype-related operations.
# Development # Development
# Developer Usage Guide for ACMC
## Installation
To install the ACMC package for development, ensure you have Python 3.9 or later installed.
### Clone the Repository
```sh
git clone https://git.soton.ac.uk/meldb/concepts-processing.git
cd concepts-processing
```
### Set Up a Virtual Environment
It is recommended to use a virtual environment to manage dependencies.
```sh
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```
### Install Dependencies
Using `hatch`, you can install the necessary dependencies easily.
```sh
pip install --upgrade pip
pip install hatch
```
This will create a virtual environment with all required dependencies.
## Development Environment
### Activate the Development Environment
To enter the development environment, use:
```sh
hatch shell
```
### Code Formatting
The project uses `black` for code formatting. Ensure your code is properly formatted before committing:
```sh
black acmc
```
### Type Checking
The project uses `mypy` for type checking:
```sh
mypy acmc
```
### Running Tests
Run tests using `pytest`:
```sh
hatch run pytest
```
## Building the Package
To build the package, use:
```sh
hatch build
```
## Running the CLI
The package provides a command-line interface (CLI) entry point. To run it:
```sh
acmc --help
```
## Contributing
If you make changes, ensure all tests pass and code formatting is correct before submitting a merge request.
1. Create a new branch for your feature or bugfix:
```sh
git checkout -b feature-branch
```
2. Make changes and commit them:
```sh
git add .
git commit -m "Description of changes"
```
3. Push your branch:
```sh
git push origin feature-branch
```
4. Open a merge request in GitLab.
## Additional Resources
- [Repository](https://git.soton.ac.uk/meldb/concepts-processing)
- [Documentation](https://git.soton.ac.uk/meldb/concepts-processing/docs)
- [Issue Tracker](https://git.soton.ac.uk/meldb/concepts-processing/-/issues)
# GitLab Workflow for Managing Releases # GitLab Workflow for Managing Releases
## Branching Strategy ## Branching Strategy
......
...@@ -47,14 +47,6 @@ Repository = "https://git.soton.ac.uk/meldb/concepts-processing" ...@@ -47,14 +47,6 @@ Repository = "https://git.soton.ac.uk/meldb/concepts-processing"
Documentation = "https://git.soton.ac.uk/meldb/concepts-processing/docs" Documentation = "https://git.soton.ac.uk/meldb/concepts-processing/docs"
Issues = "https://git.soton.ac.uk/meldb/concepts-processing/-/issues" Issues = "https://git.soton.ac.uk/meldb/concepts-processing/-/issues"
[tool.hatch.build]
include = ["acmc/**"] # Ensure only the acmc package is included
[tool.hatch.build.targets.sdist]
include = [
"acmc/**",
]
[tool.hatch.build.targets.wheel] [tool.hatch.build.targets.wheel]
packages = ["acmc"] packages = ["acmc"]
...@@ -64,6 +56,17 @@ dependencies = [ ...@@ -64,6 +56,17 @@ dependencies = [
"pytest" "pytest"
] ]
[tool.hatch.envs.default.scripts] [tool.hatch.envs.dev]
dev = "python -m acmc" dependencies = [
test = "pytest tests" "pytest",
\ No newline at end of file "black",
"mypy"
]
[tool.hatch.build]
include = ["acmc/**"] # Ensure only the acmc package is included
[tool.hatch.build.targets.sdist]
include = [
"acmc/**",
]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment