Observed since 21 Oct, 11:45 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
aiocouchdb3
A client for interacting with CouchDB 3 based on aiohttp
This project is based on the (seemingly) unmaintained aiocoucdb but is not a drop-in replacement for that project.
Using aiocouchdb3 is pretty easy.
import aiocouchdb3 as couchdb
user_jwt = get_user_jwt()
async with couchdb.connect() as client:
async with client.with_token(user_jwt) as session:
for db in await session.all_dbs:
print(await db.info)
Thanks for considering adding your skills to improve this library.
Please review the Contributor Covenant Code of Conduct.
You must comply with it to contribute to aiocouchdb3.
Check .python-version for the minimum version
of Python supported by aiocouchdb3. Install that and use it to create a
Poetry environment.
Install dependencies with
poetry install --all-extras
You must provide both mocked and integration tests when contributing. Get a CouchDB v3 instance up and running. (If you use Docker, see the following section about using Docker to run a properly configured CouchDB v3 instance.)
There are two kinds of tests in the project found the ./tests directory.
./tests/mocked contain proper unit tests isolated from the execution
environment.
./tests/integration contain integration tests that rely on a running
instance of CouchDB. To run these copy ./test.env to ./.test.env
and provide values for the two empty keys in it (and modify the other
two if you want to).
# Copy this file to .test.env and provide values for your
# instance of CouchDB
COUCHDB_USER =
COUCHDB_PASSWORD =
COUCHDB_DB_BASE_URL = http://locahost:5984
COUCHDB_JWT_SECRET = devsecret
There's a Docker compose file in tests
available for you to use if you want to use that.
docker compose --env-file .test.env -f tests/docker-compose/docker-compose.yaml up
Run the tests with
poetry run pytest
If you want to run the tests while you're developing
poetry run ptw .
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
aiohttpEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | aiohttp<4.0.0,>=3.11.18 | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest<9.0.0,>=8.3.5; extra == "dev" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio<0.27.0,>=0.26.0; extra == "dev" | runtime |
pyrightEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pyright<2.0.0,>=1.1.400; extra == "dev" | runtime |
ruffEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | ruff<0.12.0,>=0.11.8; extra == "dev" | runtime |
neovimEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | neovim<0.4.0,>=0.3.1; extra == "dev" | runtime |
pytest-watcherEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-watcher<0.5.0,>=0.4.3; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-cov<7.0.0,>=6.1.1; extra == "dev" | runtime |
pytest-dotenvEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-dotenv<0.6.0,>=0.5.2; extra == "dev" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest<9.0.0,>=8.3.5; extra == "test" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio<0.27.0,>=0.26.0; extra == "test" | runtime |
pyrightEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pyright<2.0.0,>=1.1.400; extra == "test" | runtime |
ruffEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | ruff<0.12.0,>=0.11.8; extra == "test" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-cov<7.0.0,>=6.1.1; extra == "test" | runtime |
pytest-dotenvEnvironment{
"extras": "",
"marker": "extra == \"test\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-dotenv<0.6.0,>=0.5.2; extra == "test" | runtime |
bdist_wheel · 9.29 KB · Python py3
sdist · 9.96 KB · Python source
Observed since 21 Oct, 11:45 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:18d3e2d6a634d4ddf30b7921c26af06bcd22e5d5bca87fe512e1e7b8ee0a3fbf