## common-util-py
Common utilities in Python
## How to install
The following commands show how to install `common-util-py` using pip within a Python virtual environment. To see which versions of Python are supported by `common-util-py`, see (here)[#tested-installation-via-pypi-on-the-following-python-versions].
```sh
$ python3 -m venv py313_env
$ source py313_env/bin/activate
$ pip install .[dev]
$ # or
$ virtualenv --python=/usr/bin/python3 py39_env
$ source env_py39/bin/activate
$ pip install .
$ # or
$ python3.8 -m venv env_py38
$ source env_py38/bin/activate
$ pip install .
```
## How to build
To create a source distribution, run the following commands:
```sh
$ source py313_env/bin/activate
$ python3 setup.py --help-commands
$ python3 setup.py sdist
```
## How to test
Initially we were using `nosetests` and have since migrated to `pytest`.
```sh
$ # deprecated
$ # python setup.py test
$ # python setup.py nosetests
$ # nose is replace by pytest since python3.13
$ pytest
```
read more [here](https://nose.readthedocs.io/en/latest/setuptools_integration.html)
* https://www.codingforentrepreneurs.com/blog/pipenv-virtual-environments-for-python/
* https://packaging.python.org/
* https://betterscientificsoftware.github.io/python-for-hpc/tutorials/python-pypi-packaging/
## How to upload to PyPI (Python Package Index)
First, build a source distribution and then install the `twine` package.
```sh
$ python setup.py sdist
$ pip install twine
```
Then, use twine to upload the package to PyPI.
```sh
$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
```
or
```sh
$ twine upload --config-file ~/.pypirc -r testpypi dist/common_util_py-0.0.1.tar.gz
```
## Test install
Install from Test PyPI
```sh
$ pip install --index-url https://test.pypi.org/simple/ common-util-py
```
Install from Local Distribution.
```sh
$ pip install dist/common_util_py-<version>.tar.gz
```
## Legacy
To generate `requirements.txt` and `requirements-dev.txt` from `pyproject.toml`, run the following command.
```
pip install pip-tools
pip-compile --extra dev pyproject.toml -o requirements-dev.txt
pip-compile pyproject.toml -o requirements.txt
```
## Tested installation via PyPI on the following Python versions:
| Python Version | tested installed |
| --------------- |:-----------------:|
| 3.9 | Yes |
| 3.10 | Yes |
| 3.11 | Yes |
| 3.12 | Yes |
| 3.13 | Yes |
| 3.14 | Upcoming |
Raw data
{
"_id": null,
"home_page": "https://github.com/jasonwee/common-util-py",
"name": "common-util-py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Jason Wee <jason@weetech.ch>, Jason Wee <peichieh@gmail.com>",
"keywords": "utilities, common, python, sql, weetech",
"author": "Jason Wee",
"author_email": "Jason Wee <jason@weetech.ch>, Jason Wee <peichieh@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/1b/ab/813df7fbf913ee90b88f3442b684a59ff133a486ae10c8a11ddb7cb61bb3/common_util_py-0.0.27.tar.gz",
"platform": null,
"description": "## common-util-py\nCommon utilities in Python\n\n## How to install\nThe following commands show how to install `common-util-py` using pip within a Python virtual environment. To see which versions of Python are supported by `common-util-py`, see (here)[#tested-installation-via-pypi-on-the-following-python-versions].\n```sh\n$ python3 -m venv py313_env\n$ source py313_env/bin/activate\n$ pip install .[dev]\n$ # or\n$ virtualenv --python=/usr/bin/python3 py39_env\n$ source env_py39/bin/activate\n$ pip install .\n$ # or\n$ python3.8 -m venv env_py38\n$ source env_py38/bin/activate\n$ pip install .\n```\n\n## How to build\nTo create a source distribution, run the following commands:\n```sh\n$ source py313_env/bin/activate\n$ python3 setup.py --help-commands\n$ python3 setup.py sdist\n```\n\n## How to test\nInitially we were using `nosetests` and have since migrated to `pytest`.\n```sh\n$ # deprecated\n$ # python setup.py test\n$ # python setup.py nosetests\n$ # nose is replace by pytest since python3.13\n$ pytest\n```\n\nread more [here](https://nose.readthedocs.io/en/latest/setuptools_integration.html)\n\n\n* https://www.codingforentrepreneurs.com/blog/pipenv-virtual-environments-for-python/\n* https://packaging.python.org/\n* https://betterscientificsoftware.github.io/python-for-hpc/tutorials/python-pypi-packaging/\n\n## How to upload to PyPI (Python Package Index)\nFirst, build a source distribution and then install the `twine` package.\n```sh\n$ python setup.py sdist\n$ pip install twine\n```\nThen, use twine to upload the package to PyPI.\n```sh\n$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*\n```\nor\n```sh\n$ twine upload --config-file ~/.pypirc -r testpypi dist/common_util_py-0.0.1.tar.gz\n```\n\n## Test install\nInstall from Test PyPI\n```sh\n$ pip install --index-url https://test.pypi.org/simple/ common-util-py\n```\nInstall from Local Distribution.\n```sh\n$ pip install dist/common_util_py-<version>.tar.gz\n```\n\n## Legacy\nTo generate `requirements.txt` and `requirements-dev.txt` from `pyproject.toml`, run the following command.\n```\npip install pip-tools\npip-compile --extra dev pyproject.toml -o requirements-dev.txt\npip-compile pyproject.toml -o requirements.txt\n```\n\n## Tested installation via PyPI on the following Python versions:\n| Python Version | tested installed |\n| --------------- |:-----------------:|\n| 3.9 | Yes |\n| 3.10 | Yes |\n| 3.11 | Yes |\n| 3.12 | Yes |\n| 3.13 | Yes |\n| 3.14 | Upcoming |\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Common Python utility modules",
"version": "0.0.27",
"project_urls": {
"Documentation": "https://github.com/jasonwee/common-util-py",
"Homepage": "https://www.weetech.ch",
"Source": "https://github.com/jasonwee/common-util-py",
"Tracker": "https://github.com/jasonwee/common-util-py/issues"
},
"split_keywords": [
"utilities",
" common",
" python",
" sql",
" weetech"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "69b77e979c9e11fc5eb336d9c008e29d4ee18b370516c2032a4ac4eddcd346e3",
"md5": "6a0158d29ee0bb1740714570e851b6d2",
"sha256": "a4aa8001d206ec5adc9c0c1cf919e086a0a30238280817191e3c6a5cc64ac2ea"
},
"downloads": -1,
"filename": "common_util_py-0.0.27-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6a0158d29ee0bb1740714570e851b6d2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 29044,
"upload_time": "2025-08-02T07:03:52",
"upload_time_iso_8601": "2025-08-02T07:03:52.359604Z",
"url": "https://files.pythonhosted.org/packages/69/b7/7e979c9e11fc5eb336d9c008e29d4ee18b370516c2032a4ac4eddcd346e3/common_util_py-0.0.27-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1bab813df7fbf913ee90b88f3442b684a59ff133a486ae10c8a11ddb7cb61bb3",
"md5": "014d4dd65fd47ef7ecb396e1b94dfd74",
"sha256": "c366a4cf72d4160f6881c2982315a224d66ad7a7dd6f70c277071dcdf1f3d5af"
},
"downloads": -1,
"filename": "common_util_py-0.0.27.tar.gz",
"has_sig": false,
"md5_digest": "014d4dd65fd47ef7ecb396e1b94dfd74",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 22417,
"upload_time": "2025-08-02T07:03:53",
"upload_time_iso_8601": "2025-08-02T07:03:53.869694Z",
"url": "https://files.pythonhosted.org/packages/1b/ab/813df7fbf913ee90b88f3442b684a59ff133a486ae10c8a11ddb7cb61bb3/common_util_py-0.0.27.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-02 07:03:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jasonwee",
"github_project": "common-util-py",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "setuptools",
"specs": []
},
{
"name": "twine",
"specs": []
},
{
"name": "SQLAlchemy",
"specs": []
},
{
"name": "PyMySQL",
"specs": []
},
{
"name": "mysql-connector",
"specs": []
}
],
"lcname": "common-util-py"
}