pytest-databases 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,152 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ !resources/lib
20
+ !src/**/*/lib
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ wheels/
26
+ *.egg-info/
27
+ .installed.cfg
28
+ *.egg
29
+ MANIFEST
30
+ .pdm-python
31
+
32
+ # PyInstaller
33
+ # Usually these files are written by a python script from a template
34
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
35
+ *.manifest
36
+ *.spec
37
+
38
+ # Installer logs
39
+ pip-log.txt
40
+ pip-delete-this-directory.txt
41
+
42
+ # Unit test / coverage reports
43
+ htmlcov/
44
+ .tox/
45
+ .coverage
46
+ .coverage.*
47
+ .cache
48
+ nosetests.xml
49
+ coverage.xml
50
+ *.cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+
62
+ # Flask stuff:
63
+ instance/
64
+ .webassets-cache
65
+
66
+ # Scrapy stuff:
67
+ .scrapy
68
+
69
+ # Sphinx documentation
70
+ docs/_build/
71
+
72
+ # PyBuilder
73
+ target/
74
+ !src/server/dbma/transformer/schemas/*/sql/target
75
+
76
+ # Jupyter Notebook
77
+ .ipynb_checkpoints
78
+
79
+ # IPython
80
+ profile_default/
81
+ ipython_config.py
82
+
83
+ # pyenv
84
+ .python-version
85
+
86
+ # pipenv
87
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
88
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
89
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
90
+ # install all needed dependencies.
91
+ #Pipfile.lock
92
+
93
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
94
+ __pypackages__/
95
+
96
+ # celery beat schedule file
97
+ celerybeat-schedule
98
+ celerybeat.pid
99
+
100
+ # SageMath parsed files
101
+ *.sage.py
102
+
103
+ # dotenv
104
+ .env
105
+ !.env.example
106
+ env.bak/
107
+ service_account.json
108
+
109
+ # virtualenv
110
+ .venv
111
+ venv/
112
+ ENV/
113
+
114
+ # Spyder project settings
115
+ .spyderproject
116
+ .spyproject
117
+
118
+ # Rope project settings
119
+ .ropeproject
120
+
121
+ # mkdocs documentation
122
+ /site
123
+
124
+ # mypy
125
+ .mypy_cache/
126
+ .dmypy.json
127
+ dmypy.json
128
+
129
+ # IDE settings
130
+ .vscode/*
131
+ !.vscode/settings.json
132
+ !.vscode/extensions.json
133
+ !.vscode/launch.json
134
+ .idea/
135
+ !.vscode/settings.json
136
+ !.vscode/launch.json
137
+ # Version file generated by hatch-vcs
138
+ src/pytest_databases/_version.py
139
+
140
+ .ruff_cache
141
+
142
+
143
+ # App specifics
144
+ .env
145
+ *.log
146
+ log/*
147
+ *.csv
148
+ tmp/*
149
+ node_modules
150
+ .astro
151
+ .vite
152
+ .npmrc
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Jolt
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,102 @@
1
+ Metadata-Version: 2.1
2
+ Name: pytest-databases
3
+ Version: 0.1.0
4
+ Summary: Reusable database fixtures for any and all databases.
5
+ Project-URL: Documentation, https://github.com/jolt-org/pytest-databases#readme
6
+ Project-URL: Issues, https://github.com/jolt-org/pytest-databases/issues
7
+ Project-URL: Source, https://github.com/jolt-org/pytest-databases
8
+ Author-email: Cody Fincher <cody.fincher@gmail.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: bigquery,cockroachdb,database,duckdb,migration,mssql,mysql,oracle,postgres,spanner
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Programming Language :: Python
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: Implementation :: CPython
20
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
21
+ Requires-Python: >=3.8
22
+ Requires-Dist: pytest
23
+ Provides-Extra: cockroachdb
24
+ Requires-Dist: psycopg; extra == 'cockroachdb'
25
+ Provides-Extra: mssql
26
+ Requires-Dist: aioodbc; extra == 'mssql'
27
+ Provides-Extra: mysql
28
+ Requires-Dist: asyncmy>=0.2.9; extra == 'mysql'
29
+ Provides-Extra: oracle
30
+ Requires-Dist: oracledb; extra == 'oracle'
31
+ Provides-Extra: postgres
32
+ Requires-Dist: asyncpg>=0.29.0; extra == 'postgres'
33
+ Provides-Extra: spanner
34
+ Requires-Dist: google-cloud-spanner; extra == 'spanner'
35
+ Provides-Extra: sqlite
36
+ Requires-Dist: aiosqlite; extra == 'sqlite'
37
+ Description-Content-Type: text/markdown
38
+
39
+ # pytest-databases
40
+
41
+ Reusable test fixtures for any and all databases.
42
+
43
+ <div align="center">
44
+
45
+ | Project | | Status |
46
+ | --------- | :-- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
47
+ | CI/CD | | [![Latest Release](https://github.com/jolt-org/pytest-databases/actions/workflows/publish.yaml/badge.svg)](https://github.com/jolt-org/pytest-databases/actions/workflows/publish.yaml) [![Tests And Linting](https://github.com/jolt-org/pytest-databases/actions/workflows/ci.yaml/badge.svg)](https://github.com/jolt-org/pytest-databases/actions/workflows/ci.yaml) [![Documentation Building](https://github.com/jolt-org/pytest-databases/actions/workflows/docs.yaml/badge.svg)](https://github.com/jolt-org/pytest-databases/actions/workflows/docs.yaml) |
48
+ | Quality | | [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=coverage)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) |
49
+ | Community | | [![Discord](https://img.shields.io/discord/1149784127659319356?labelColor=F50057&color=202020&label=chat%20on%20discord&logo=discord&logoColor=202020)](https://discord.gg/XpFNTjjtTK) |
50
+ | Meta | | [![Jolt Project](https://img.shields.io/badge/Jolt%20Org-%E2%AD%90-F50057.svg?logo=python&labelColor=F50057&color=202020&logoColor=202020)](https://github.com/jolt-org/) [![types - Mypy](https://img.shields.io/badge/types-Mypy-F50057.svg?logo=python&labelColor=F50057&color=202020&logoColor=202020)](https://github.com/python/mypy) [![License - MIT](https://img.shields.io/badge/license-MIT-F50057.svg?logo=python&labelColor=F50057&color=202020&logoColor=202020)](https://spdx.org/licenses/) [![Jolt Sponsors](https://img.shields.io/badge/Sponsor-%E2%9D%A4-%23202020.svg?&logo=github&logoColor=202020&labelColor=F50057)](https://github.com/sponsors/jolt-org) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json&labelColor=F50057)](https://github.com/astral-sh/ruff) [![code style - Black](https://img.shields.io/badge/code%20style-black-000000.svg?logo=python&labelColor=F50057&logoColor=202020)](https://github.com/psf/black) |
51
+
52
+ </div>
53
+
54
+ > [!WARNING] > **Pre-Release Alpha Stage**
55
+ >
56
+ > Please note that pytest-databases is currently in a pre-release alpha stage of development. This means the library is still under
57
+ > active development, and its API is subject to change. We encourage developers to experiment with pytest-databases and provide
58
+ > feedback, but we recommend against using it in production environments until a stable release is available.`
59
+
60
+ ## About
61
+
62
+ The `pytest-databases` library aims to make testing with a database as simple as possible.
63
+ It is designed to offer pre-configured testing setups for many different types and versions of databases.
64
+
65
+ ## Features
66
+
67
+ `pytest-databases` currently utilizes `docker compose` (or the legacy `docker-compose`) commands to manage the startup and shutdown of each database service. The following databases are currently available:
68
+
69
+ - **Postgres**: Version 12, 13, 14, 15, and 16 are available
70
+ - **MySQL**: Version 5.6, 5.7 and 8 are available
71
+ - **Oracle**: Version 18c XE and 23C Free are available
72
+ - **SQL Server**: Version 2022 is available
73
+ - **Spanner**: The latest cloud-emulator from Google is available
74
+ - **Cockroach**: Version 23.1-latest is available
75
+
76
+ ## Contributing
77
+
78
+ All [Jolt][jolt-org] projects will always be a community-centered, available for contributions of any size.
79
+
80
+ Before contributing, please review the [contribution guide][contributing].
81
+
82
+ If you have any questions, reach out to us on [Discord][discord], our org-wide [GitHub discussions][jolt-discussions] page,
83
+ or the [project-specific GitHub discussions page][project-discussions].
84
+
85
+ <hr>
86
+
87
+ <!-- markdownlint-disable -->
88
+ <p align="center">
89
+ <!-- github-banner-start -->
90
+ <img src="https://raw.githubusercontent.com/jolt-org/meta/2901c9c5c5895a83fbfa56944c33bca287f88d42/branding/SVG%20-%20Transparent/logo-full-wide.svg" alt="Litestar Logo - Light" width="20%" height="auto" />
91
+ <br>A <a href="https://github.com/jolt-org">Jolt Organization</a> Project
92
+ <!-- github-banner-end -->
93
+ </p>
94
+
95
+ [jolt-org]: https://github.com/jolt-org
96
+ [contributing]: https://docs.pytest-databases.jolt.rs/latest/contribution-guide.html
97
+ [discord]: https://discord.gg/XpFNTjjtTK
98
+ [jolt-discussions]: https://github.com/orgs/jolt-org/discussions
99
+ [project-discussions]: https://github.com/jolt-org/pytest-databases/discussions
100
+ [project-docs]: https://docs.pytest-databases.jolt.rs
101
+ [install-guide]: https://docs.pytest-databases.jolt.rs/latest/#installation
102
+ [newrepo]: https://github.com/organizations/jolt-org/repositories/new?template=pytest-databases
@@ -0,0 +1,64 @@
1
+ # pytest-databases
2
+
3
+ Reusable test fixtures for any and all databases.
4
+
5
+ <div align="center">
6
+
7
+ | Project | | Status |
8
+ | --------- | :-- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
9
+ | CI/CD | | [![Latest Release](https://github.com/jolt-org/pytest-databases/actions/workflows/publish.yaml/badge.svg)](https://github.com/jolt-org/pytest-databases/actions/workflows/publish.yaml) [![Tests And Linting](https://github.com/jolt-org/pytest-databases/actions/workflows/ci.yaml/badge.svg)](https://github.com/jolt-org/pytest-databases/actions/workflows/ci.yaml) [![Documentation Building](https://github.com/jolt-org/pytest-databases/actions/workflows/docs.yaml/badge.svg)](https://github.com/jolt-org/pytest-databases/actions/workflows/docs.yaml) |
10
+ | Quality | | [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=coverage)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=jolt-org_pytest-databases&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=jolt-org_pytest-databases) |
11
+ | Community | | [![Discord](https://img.shields.io/discord/1149784127659319356?labelColor=F50057&color=202020&label=chat%20on%20discord&logo=discord&logoColor=202020)](https://discord.gg/XpFNTjjtTK) |
12
+ | Meta | | [![Jolt Project](https://img.shields.io/badge/Jolt%20Org-%E2%AD%90-F50057.svg?logo=python&labelColor=F50057&color=202020&logoColor=202020)](https://github.com/jolt-org/) [![types - Mypy](https://img.shields.io/badge/types-Mypy-F50057.svg?logo=python&labelColor=F50057&color=202020&logoColor=202020)](https://github.com/python/mypy) [![License - MIT](https://img.shields.io/badge/license-MIT-F50057.svg?logo=python&labelColor=F50057&color=202020&logoColor=202020)](https://spdx.org/licenses/) [![Jolt Sponsors](https://img.shields.io/badge/Sponsor-%E2%9D%A4-%23202020.svg?&logo=github&logoColor=202020&labelColor=F50057)](https://github.com/sponsors/jolt-org) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json&labelColor=F50057)](https://github.com/astral-sh/ruff) [![code style - Black](https://img.shields.io/badge/code%20style-black-000000.svg?logo=python&labelColor=F50057&logoColor=202020)](https://github.com/psf/black) |
13
+
14
+ </div>
15
+
16
+ > [!WARNING] > **Pre-Release Alpha Stage**
17
+ >
18
+ > Please note that pytest-databases is currently in a pre-release alpha stage of development. This means the library is still under
19
+ > active development, and its API is subject to change. We encourage developers to experiment with pytest-databases and provide
20
+ > feedback, but we recommend against using it in production environments until a stable release is available.`
21
+
22
+ ## About
23
+
24
+ The `pytest-databases` library aims to make testing with a database as simple as possible.
25
+ It is designed to offer pre-configured testing setups for many different types and versions of databases.
26
+
27
+ ## Features
28
+
29
+ `pytest-databases` currently utilizes `docker compose` (or the legacy `docker-compose`) commands to manage the startup and shutdown of each database service. The following databases are currently available:
30
+
31
+ - **Postgres**: Version 12, 13, 14, 15, and 16 are available
32
+ - **MySQL**: Version 5.6, 5.7 and 8 are available
33
+ - **Oracle**: Version 18c XE and 23C Free are available
34
+ - **SQL Server**: Version 2022 is available
35
+ - **Spanner**: The latest cloud-emulator from Google is available
36
+ - **Cockroach**: Version 23.1-latest is available
37
+
38
+ ## Contributing
39
+
40
+ All [Jolt][jolt-org] projects will always be a community-centered, available for contributions of any size.
41
+
42
+ Before contributing, please review the [contribution guide][contributing].
43
+
44
+ If you have any questions, reach out to us on [Discord][discord], our org-wide [GitHub discussions][jolt-discussions] page,
45
+ or the [project-specific GitHub discussions page][project-discussions].
46
+
47
+ <hr>
48
+
49
+ <!-- markdownlint-disable -->
50
+ <p align="center">
51
+ <!-- github-banner-start -->
52
+ <img src="https://raw.githubusercontent.com/jolt-org/meta/2901c9c5c5895a83fbfa56944c33bca287f88d42/branding/SVG%20-%20Transparent/logo-full-wide.svg" alt="Litestar Logo - Light" width="20%" height="auto" />
53
+ <br>A <a href="https://github.com/jolt-org">Jolt Organization</a> Project
54
+ <!-- github-banner-end -->
55
+ </p>
56
+
57
+ [jolt-org]: https://github.com/jolt-org
58
+ [contributing]: https://docs.pytest-databases.jolt.rs/latest/contribution-guide.html
59
+ [discord]: https://discord.gg/XpFNTjjtTK
60
+ [jolt-discussions]: https://github.com/orgs/jolt-org/discussions
61
+ [project-discussions]: https://github.com/jolt-org/pytest-databases/discussions
62
+ [project-docs]: https://docs.pytest-databases.jolt.rs
63
+ [install-guide]: https://docs.pytest-databases.jolt.rs/latest/#installation
64
+ [newrepo]: https://github.com/organizations/jolt-org/repositories/new?template=pytest-databases