# cpm


cpm is a fundamental package for Computational Psychiatry. It is designed to provide a set of tools for researchers and clinicians to analyze and model data in the field of Computational Psychiatry.
## Installation and Usage
To install the package, run the following command:
```bash
pip install cpm-toolbox
```
Once the package is installed, you can import it in your Python code:
```python
import cpm
```
## Install from GitHub for Nightly Builds
In order to install the package from GitHub, run the following command:
```bash
pip install git+https://github.com/DevComPsy/cpm.git
```
## Documentation
The documentation can be viewed here: [link](https://devcompsy.github.io/cpm/).
### Development of documentation
The documentation is written in docstrings and markdown files. The markdown files are located in the `docs` directory. The documentation is built using mkdocs.
### Vieweing developmental versions of the documentation
First, install all requirements:
```bash
pip install -r docs/requirements.txt
```
In the root directory, run the following commands:
```bash
mkdocs build
mkdocs serve
```
Then open a browser and go to <http://127.0.0.1:8000/>
Depending on the version you have, you might need to add Jupyter to PATH, see this [link](https://github.com/jupyter/nbconvert/issues/1773#issuecomment-1283852572) for more information.
### Building the documentation
To build the documentation, run the following command in the root directory:
```bash
mkdocs build
```
To deploy the documentation to GitHub pages, run the following command in the root directory:
```bash
mkdocs gh-deploy
```
# Development process
To work on the toolbox, create a new branch from the `main` branch. Then, create a pull request to merge the new feature into the `main` branch. Once the pull request is approved, merge the new feature into the `main` branch.
## Branch naming convention
A git branch should start with a category. Pick one of these: feature, bugfix, hotfix, or test.
* `feature` is for adding, refactoring or removing a feature
* `bugfix` is for fixing a bug
* `hotfix` is for changing code with a temporary solution and/or without following the usual process (usually because of an emergency)
* `test` is for experimenting outside of an issue/ticket
See this [link](https://dev.to/couchcamote/git-branching-name-convention-cch) for some great description of the naming convention.
## Commit message conventions
Please follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) guidelines for commit messages.
Feel free to use gitmoji for commit messages, but insert them at the end of the problem description.
See this [link](https://gitmoji.dev/) for more information.
## Pull request conventions
When creating a pull request, make sure to follow these conventions: [link](https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/)
## Compiling the package
To compile the package, run the following command in the root directory:
```bash
python setup.py sdist bdist_wheel
```
## Uploading the package to PyPi
To upload the package to PyPi, run the following command in the root directory:
```bash
twine upload dist/*
```
## Development tools we use
* `black linter` for python code formatting
* `numpy`-style docstrings for documentation
* `mkdocs` for documentation generation
* `pytest` for testing
Raw data
{
"_id": null,
"home_page": null,
"name": "cpm-toolbox",
"maintainer": null,
"docs_url": null,
"requires_python": ">3.11.0",
"maintainer_email": "Lenard Dome <lenarddome@gmail.com>",
"keywords": "cpm-toolbox, cpm, computational-psychiatry, computational-psychology, psychometrics, psychology",
"author": "Lenard Dome, Frank Hezemans, Ben J. Wagner, Andrew Webb, Marc Carrera, Tobias Hauser",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/20/d9/82480569f5f081b46f691f386ce0695672b57cd46bd12849b319a9180c91/cpm_toolbox-0.23.18.tar.gz",
"platform": null,
"description": "# cpm\n\n\n\n\n\ncpm is a fundamental package for Computational Psychiatry. It is designed to provide a set of tools for researchers and clinicians to analyze and model data in the field of Computational Psychiatry.\n\n## Installation and Usage\n\nTo install the package, run the following command:\n\n```bash\npip install cpm-toolbox\n```\n\nOnce the package is installed, you can import it in your Python code:\n\n```python\nimport cpm\n```\n\n## Install from GitHub for Nightly Builds\n\nIn order to install the package from GitHub, run the following command:\n\n```bash\npip install git+https://github.com/DevComPsy/cpm.git\n```\n\n## Documentation\n\nThe documentation can be viewed here: [link](https://devcompsy.github.io/cpm/).\n\n### Development of documentation\n\nThe documentation is written in docstrings and markdown files. The markdown files are located in the `docs` directory. The documentation is built using mkdocs.\n\n### Vieweing developmental versions of the documentation\n\nFirst, install all requirements:\n\n```bash\npip install -r docs/requirements.txt\n```\n\nIn the root directory, run the following commands:\n\n```bash\nmkdocs build\nmkdocs serve\n```\n\nThen open a browser and go to <http://127.0.0.1:8000/>\n\nDepending on the version you have, you might need to add Jupyter to PATH, see this [link](https://github.com/jupyter/nbconvert/issues/1773#issuecomment-1283852572) for more information.\n\n### Building the documentation\n\nTo build the documentation, run the following command in the root directory:\n\n```bash\nmkdocs build\n```\n\nTo deploy the documentation to GitHub pages, run the following command in the root directory:\n\n```bash\nmkdocs gh-deploy\n```\n\n# Development process\n\nTo work on the toolbox, create a new branch from the `main` branch. Then, create a pull request to merge the new feature into the `main` branch. Once the pull request is approved, merge the new feature into the `main` branch.\n\n## Branch naming convention\n\nA git branch should start with a category. Pick one of these: feature, bugfix, hotfix, or test.\n\n* `feature` is for adding, refactoring or removing a feature\n* `bugfix` is for fixing a bug\n* `hotfix` is for changing code with a temporary solution and/or without following the usual process (usually because of an emergency)\n* `test` is for experimenting outside of an issue/ticket\n\nSee this [link](https://dev.to/couchcamote/git-branching-name-convention-cch) for some great description of the naming convention.\n\n## Commit message conventions\n\nPlease follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) guidelines for commit messages.\nFeel free to use gitmoji for commit messages, but insert them at the end of the problem description.\nSee this [link](https://gitmoji.dev/) for more information.\n\n## Pull request conventions\n\nWhen creating a pull request, make sure to follow these conventions: [link](https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/)\n\n## Compiling the package\n\nTo compile the package, run the following command in the root directory:\n\n```bash\npython setup.py sdist bdist_wheel\n```\n\n## Uploading the package to PyPi\n\nTo upload the package to PyPi, run the following command in the root directory:\n\n```bash\ntwine upload dist/*\n```\n\n## Development tools we use\n\n* `black linter` for python code formatting\n* `numpy`-style docstrings for documentation\n* `mkdocs` for documentation generation\n* `pytest` for testing\n",
"bugtrack_url": null,
"license": "AGPLv3",
"summary": "A fundamental scientific toolbox for computational psychiatry and psychology.",
"version": "0.23.18",
"project_urls": {
"Documentation": "https://devcompsy.github.io/cpm/",
"Homepage": "https://cpm-toolbox.net"
},
"split_keywords": [
"cpm-toolbox",
" cpm",
" computational-psychiatry",
" computational-psychology",
" psychometrics",
" psychology"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4a6c76cfac311d724392e580761a0269e02feaea965be42995f3faf5a23c4e1a",
"md5": "4c05b556101ee949cbc9a24744c7bcad",
"sha256": "7cc1d14db0a364cce806ea5b5c1df9ee7a291403514ba0037c358c0b8c19de5f"
},
"downloads": -1,
"filename": "cpm_toolbox-0.23.18-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "4c05b556101ee949cbc9a24744c7bcad",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">3.11.0",
"size": 257958,
"upload_time": "2025-09-03T07:45:43",
"upload_time_iso_8601": "2025-09-03T07:45:43.930784Z",
"url": "https://files.pythonhosted.org/packages/4a/6c/76cfac311d724392e580761a0269e02feaea965be42995f3faf5a23c4e1a/cpm_toolbox-0.23.18-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "20d982480569f5f081b46f691f386ce0695672b57cd46bd12849b319a9180c91",
"md5": "8391ce0f163713d403c18526c33e5df6",
"sha256": "b9f04815bfdedf0f6433aa10c109ce5650c91b41b386043375d5b61c06e5f4b5"
},
"downloads": -1,
"filename": "cpm_toolbox-0.23.18.tar.gz",
"has_sig": false,
"md5_digest": "8391ce0f163713d403c18526c33e5df6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">3.11.0",
"size": 229107,
"upload_time": "2025-09-03T07:45:45",
"upload_time_iso_8601": "2025-09-03T07:45:45.509155Z",
"url": "https://files.pythonhosted.org/packages/20/d9/82480569f5f081b46f691f386ce0695672b57cd46bd12849b319a9180c91/cpm_toolbox-0.23.18.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-03 07:45:45",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "cpm-toolbox"
}