# analytics-mesh
Interfaces and facades that facilitate a common approach to analytics tasks
# Getting Started
Please install the requirements:
```bash
pip install -r requirements
```
If you are going to be making modifications to the `ipynb` notebooks, then be sure to install the pre-commit hook (see below):
```bash
pre-commit install
```
## Tests
Tests are currently split into `unit` and `integration` tests. As this package integrates with storage systems, the integration tests are typically running against things like Google Cloud Platform.
Tests may be run in the root folder of the repo with:
```
coverage run -m unittest discover tests && coverage report
```
If you want to run just the unit tests (and ignore coverage) then,
```bash
python -m unittest discover tests/unit
```
Similarly, for the integration tests.
## Pre-Commit Hooks and Notebook Workflow
In this repo we are using the python `precommit` package (included in requirements.txt file). In order to leverage it in your development workflow, you need to run the following commands (assuming you have already installed your requirements).
```bash
pre-commit install
```
We follow the convention that a version controlled `ipynb` file is converted to a markdown (`md`) file to form an `ipynb`-`md` pair that are both version controlled. This allows us to code review the markdown files whilst keeping the original ipynb file output intact for easy perusal on the repository manager (Gitlab in our case).
# Packaging the Code
The contents of the `mesh` package are packaged in the build pipeline and submitted to pypi when merged to the master branch. The contents of the `demos` folder and `tests` is omitted from the package. See the `.gitlab-ci.yml` file for the pypi instructions we use, as well as the tests and linting that are performed.
The consequences of this is that you will convert `ipynb` notebooks to `md`.
# Contributions
Contributions are most welcome. Please submit patches or new features for code review by any of the main contributors:
* [Jacques du Toit]()
* [Carl du Plessis](https://gitlab.com/Carljan)
* [Jaco Gericke](https://gitlab.com/jsgericke)
Please be sure to run the tests prior to submission.
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/spatialedge/ml-engineering/analytics",
"name": "analytics-mesh",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.11,>=3.9",
"maintainer_email": null,
"keywords": "analytics, utilities",
"author": "Jacques du Toit, Carl du Plessis, Jean Naud\u00e9, Lydia de Lange, Bernie Lindner",
"author_email": null,
"download_url": null,
"platform": null,
"description": "# analytics-mesh\nInterfaces and facades that facilitate a common approach to analytics tasks\n\n\n# Getting Started\n\nPlease install the requirements:\n\n```bash\npip install -r requirements\n```\n\nIf you are going to be making modifications to the `ipynb` notebooks, then be sure to install the pre-commit hook (see below):\n\n```bash\npre-commit install\n```\n\n\n## Tests\n\nTests are currently split into `unit` and `integration` tests. As this package integrates with storage systems, the integration tests are typically running against things like Google Cloud Platform. \n\nTests may be run in the root folder of the repo with:\n\n```\ncoverage run -m unittest discover tests && coverage report\n```\n\nIf you want to run just the unit tests (and ignore coverage) then, \n\n```bash\npython -m unittest discover tests/unit\n```\nSimilarly, for the integration tests.\n\n\n## Pre-Commit Hooks and Notebook Workflow\n\nIn this repo we are using the python `precommit` package (included in requirements.txt file). In order to leverage it in your development workflow, you need to run the following commands (assuming you have already installed your requirements).\n\n```bash\npre-commit install\n```\n\nWe follow the convention that a version controlled `ipynb` file is converted to a markdown (`md`) file to form an `ipynb`-`md` pair that are both version controlled. This allows us to code review the markdown files whilst keeping the original ipynb file output intact for easy perusal on the repository manager (Gitlab in our case).\n\n\n# Packaging the Code\n\nThe contents of the `mesh` package are packaged in the build pipeline and submitted to pypi when merged to the master branch. The contents of the `demos` folder and `tests` is omitted from the package. See the `.gitlab-ci.yml` file for the pypi instructions we use, as well as the tests and linting that are performed.\n\nThe consequences of this is that you will convert `ipynb` notebooks to `md`.\n\n# Contributions\n\nContributions are most welcome. Please submit patches or new features for code review by any of the main contributors:\n\n * [Jacques du Toit]()\n * [Carl du Plessis](https://gitlab.com/Carljan)\n * [Jaco Gericke](https://gitlab.com/jsgericke)\n \n Please be sure to run the tests prior to submission.\n\n",
"bugtrack_url": null,
"license": "Spatialedge Community License",
"summary": "Facades and common functions necessary for data science and data engineering workflows",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://gitlab.com/spatialedge/ml-engineering/analytics",
"Repository": "https://gitlab.com/spatialedge/ml-engineering/analytics"
},
"split_keywords": [
"analytics",
" utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3b84f26fc7117725f77aabdccfa19823dc7c596956f72a9ef5bad1abacefcab8",
"md5": "bf5cdabaa4692d926f52c8fec4b54e34",
"sha256": "d24400518c14f57c6b71fdf0f040c694d5967c1dc693e09015586070fd833bca"
},
"downloads": -1,
"filename": "analytics_mesh-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bf5cdabaa4692d926f52c8fec4b54e34",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.11,>=3.9",
"size": 35389,
"upload_time": "2024-09-23T09:31:19",
"upload_time_iso_8601": "2024-09-23T09:31:19.572716Z",
"url": "https://files.pythonhosted.org/packages/3b/84/f26fc7117725f77aabdccfa19823dc7c596956f72a9ef5bad1abacefcab8/analytics_mesh-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-23 09:31:19",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "spatialedge",
"gitlab_project": "ml-engineering",
"lcname": "analytics-mesh"
}