# yhttp-dbmanager
A `yhttp` extension to create and remove database(s) using command line and
API.
## Contribution
### Dependencies
Install `postgresql` brefore use of this project.
```bash
apt install postgresql
```
### Prepare
Create and grant the `postgresql` role with `createdb` permission to
authenticate the current `unix` user within `postgresql` using the peer
authentication.
```bash
echo "CREATE USER ${USER} WITH CREATEDB" | sudo -u postgres psql
# Or
echo "ALTER USER ${USER} CREATEDB" | sudo -u postgres psql
```
### Virtualenv
Create virtual environment:
```bash
make venv
```
Delete virtual environment:
```bash
make venv-delete
```
Activate the virtual environment:
```bash
source ./activate.sh
```
### Install (editable mode)
Install this project as editable mode and all other development dependencies:
```bash
make env
```
### Tests
Execute all tests:
```bash
make test
```
Execute specific test(s) using wildcard:
```bash
make test F=tests/test_db*
make test F=tests/test_form.py::test_querystringform
```
*refer to* [pytest documentation](https://docs.pytest.org/en/7.1.x/how-to/usage.html#how-to-invoke-pytest)
*for more info about invoking tests.*
Execute tests and report coverage result:
```bash
make cover
make cover F=tests/test_static.py
make cover-html
```
# Lint
```bash
make lint
```
### Distribution
Execute these commands to create `Python`'s standard distribution packages
at `dist` directory:
```bash
make sdist
make wheel
```
Or
```bash
make dist
```
to create both `sdidst` and `wheel` packages.
### Clean build directory
Execute:
```bash
make clean
```
to clean-up previous `dist/*` and `build/*` directories.
### PyPI
> **_WARNING:_** Do not do this if you'r not responsible as author and
> or maintainer of this project.
Execute
```bash
make clean
make pypi
```
to upload `sdists` and `wheel` packages on [PyPI](https://pypi.org).
Raw data
{
"_id": null,
"home_page": "http://github.com/yhttp/yhttp-dbmanager",
"name": "yhttp-dbmanager",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Vahid Mardani",
"author_email": "vahid.mardani@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8f/36/27dc329894943000be8e930964a2517e0324e966f568e0da1732ad04f100/yhttp_dbmanager-5.0.1.tar.gz",
"platform": null,
"description": "# yhttp-dbmanager\n\nA `yhttp` extension to create and remove database(s) using command line and\nAPI.\n\n## Contribution\n\n### Dependencies\nInstall `postgresql` brefore use of this project.\n```bash\napt install postgresql\n```\n\n### Prepare\n\nCreate and grant the `postgresql` role with `createdb` permission to \nauthenticate the current `unix` user within `postgresql` using the peer \nauthentication.\n```bash\necho \"CREATE USER ${USER} WITH CREATEDB\" | sudo -u postgres psql\n# Or\necho \"ALTER USER ${USER} CREATEDB\" | sudo -u postgres psql\n```\n\n### Virtualenv\n\nCreate virtual environment:\n```bash\nmake venv\n```\n\nDelete virtual environment:\n```bash\nmake venv-delete\n```\n\nActivate the virtual environment:\n```bash\nsource ./activate.sh\n```\n\n\n### Install (editable mode)\nInstall this project as editable mode and all other development dependencies:\n```bash\nmake env\n```\n\n\n### Tests\nExecute all tests:\n```bash\nmake test\n```\n\nExecute specific test(s) using wildcard:\n```bash\nmake test F=tests/test_db*\nmake test F=tests/test_form.py::test_querystringform\n```\n\n*refer to* [pytest documentation](https://docs.pytest.org/en/7.1.x/how-to/usage.html#how-to-invoke-pytest)\n*for more info about invoking tests.*\n\nExecute tests and report coverage result:\n```bash\nmake cover\nmake cover F=tests/test_static.py\nmake cover-html\n```\n\n\n# Lint\n```bash\nmake lint\n```\n\n\n### Distribution\nExecute these commands to create `Python`'s standard distribution packages\nat `dist` directory:\n```bash\nmake sdist\nmake wheel\n```\n\nOr \n```bash\nmake dist\n```\nto create both `sdidst` and `wheel` packages.\n\n\n### Clean build directory\nExecute: \n```bash\nmake clean\n```\nto clean-up previous `dist/*` and `build/*` directories.\n\n\n### PyPI\n\n> **_WARNING:_** Do not do this if you'r not responsible as author and \n> or maintainer of this project.\n\nExecute\n```bash\nmake clean\nmake pypi\n```\nto upload `sdists` and `wheel` packages on [PyPI](https://pypi.org).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Database manager command line interface and API for yhttp.",
"version": "5.0.1",
"project_urls": {
"Homepage": "http://github.com/yhttp/yhttp-dbmanager"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5326683584bfe31cc192b2cc565309ab5e8c10722d3f197646d859fd515d333b",
"md5": "2b27d4d8017c979c6e0b6713e010e098",
"sha256": "f0d1a39d0337923d5f69d1bc290ec2c7d86be8d9bde23eab15084e9da07605e4"
},
"downloads": -1,
"filename": "yhttp_dbmanager-5.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2b27d4d8017c979c6e0b6713e010e098",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 6018,
"upload_time": "2024-09-01T01:11:24",
"upload_time_iso_8601": "2024-09-01T01:11:24.402728Z",
"url": "https://files.pythonhosted.org/packages/53/26/683584bfe31cc192b2cc565309ab5e8c10722d3f197646d859fd515d333b/yhttp_dbmanager-5.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8f3627dc329894943000be8e930964a2517e0324e966f568e0da1732ad04f100",
"md5": "cd0d53c7198bc71ac7215ade015734c2",
"sha256": "ee8d31f66bac1a534984063f7c9de2884c8b5630adfcde7520c1f2a1d1b378ea"
},
"downloads": -1,
"filename": "yhttp_dbmanager-5.0.1.tar.gz",
"has_sig": false,
"md5_digest": "cd0d53c7198bc71ac7215ade015734c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7308,
"upload_time": "2024-09-01T01:11:25",
"upload_time_iso_8601": "2024-09-01T01:11:25.212724Z",
"url": "https://files.pythonhosted.org/packages/8f/36/27dc329894943000be8e930964a2517e0324e966f568e0da1732ad04f100/yhttp_dbmanager-5.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-01 01:11:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yhttp",
"github_project": "yhttp-dbmanager",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "yhttp-dbmanager"
}