{"id":33565842,"url":"https://github.com/apache/cassandra-python-driver","last_synced_at":"2025-12-11T21:03:35.858Z","repository":{"id":38857759,"uuid":"11262602","full_name":"apache/cassandra-python-driver","owner":"apache","description":"DataStax Python Driver for Apache Cassandra","archived":false,"fork":false,"pushed_at":"2025-12-05T21:02:28.000Z","size":12158,"stargazers_count":1420,"open_issues_count":12,"forks_count":568,"subscribers_count":74,"default_branch":"master","last_synced_at":"2025-12-08T04:48:59.358Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README-dev.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.rst","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-07-08T19:02:31.000Z","updated_at":"2025-12-07T11:28:37.000Z","dependencies_parsed_at":"2023-10-14T22:46:52.828Z","dependency_job_id":"f92121ab-6800-4b4a-920c-685cec668c86","html_url":"https://github.com/apache/cassandra-python-driver","commit_stats":{"total_commits":4972,"total_committers":201,"mean_commits":"24.736318407960198","dds":0.7765486725663717,"last_synced_commit":"c5bed09bf03cd1ceb7780572043713f946da8cd8"},"previous_names":["apache/cassandra-python-driver"],"tags_count":90,"template":false,"template_full_name":null,"purl":"pkg:github/apache/cassandra-python-driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcassandra-python-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcassandra-python-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcassandra-python-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcassandra-python-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/cassandra-python-driver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcassandra-python-driver/sbom","scorecard":{"id":324824,"data":{"date":"2025-08-11","repo":{"name":"github.com/datastax/python-driver","commit":"0979b897549de4578eda31dfd9e1e1a2f080c926"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":6,"reason":"Found 19/30 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":7,"reason":"9 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: docs/security.rst:1","Info: Found linked content: docs/security.rst:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: docs/security.rst:1","Info: Found text in security policy: docs/security.rst:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"19 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2024-225 / GHSA-6vqw-3v5j-54x4","Warn: Project is vulnerable to: GHSA-79v4-65xg-pq4g","Warn: Project is vulnerable to: GHSA-9v9h-cgj8-h64p","Warn: Project is vulnerable to: GHSA-h4gh-qq45-vh27","Warn: Project is vulnerable to: GHSA-3rq5-2g8h-59hc","Warn: Project is vulnerable to: PYSEC-2023-177 / GHSA-x7m3-jprg-wc5g","Warn: Project is vulnerable to: PYSEC-2017-49 / GHSA-mffc-9gx5-99g3","Warn: Project is vulnerable to: GHSA-32gv-6cf3-wcmq","Warn: Project is vulnerable to: PYSEC-2020-214 / GHSA-3gqj-cmxr-p4x2","Warn: Project is vulnerable to: PYSEC-2019-129 / GHSA-65rm-h285-5cc5","Warn: Project is vulnerable to: PYSEC-2019-128 / GHSA-6cc5-2vg4-cc7m","Warn: Project is vulnerable to: GHSA-8r99-h8j2-rw64","Warn: Project is vulnerable to: PYSEC-2022-195 / GHSA-c2jg-hw38-jrqq","Warn: Project is vulnerable to: GHSA-c8m8-j448-xjx7","Warn: Project is vulnerable to: PYSEC-2024-75 / GHSA-cf56-g6w6-pqq2","Warn: Project is vulnerable to: PYSEC-2020-259 / GHSA-h96w-mmrf-2h6v","Warn: Project is vulnerable to: PYSEC-2020-260 / GHSA-p5xh-vx83-mxcj","Warn: Project is vulnerable to: PYSEC-2023-224 / GHSA-xc8x-vp79-p3wm","Warn: Project is vulnerable to: PYSEC-2019-212"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T02:11:34.384Z","repository_id":38857759,"created_at":"2025-08-18T02:11:34.385Z","updated_at":"2025-08-18T02:11:34.385Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27620685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-09T02:00:09.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-28T04:00:19.937Z","updated_at":"2025-12-11T21:03:35.853Z","avatar_url":"https://github.com/apache.png","language":"Python","readme":"Releasing\n=========\nNote: the precise details of some of these steps have changed.  Leaving this here as a guide only.\n\n* Run the tests and ensure they all pass\n* Update CHANGELOG.rst\n  * Check for any missing entries\n  * Add today's date to the release section\n* Update the version in ``cassandra/__init__.py``\n  * For beta releases, use a version like ``(2, 1, '0b1')``\n  * For release candidates, use a version like ``(2, 1, '0rc1')``\n  * When in doubt, follow PEP 440 versioning\n* Add the new version in ``docs.yaml``\n* Commit the changelog and version changes, e.g. ``git commit -m'version 1.0.0'``\n* Tag the release.  For example: ``git tag -a 1.0.0 -m 'version 1.0.0'``\n* Push the tag and new ``master``: ``git push origin 1.0.0 ; git push origin master``\n* Update the `python-driver` submodule of `python-driver-wheels`,\n  commit then push.\n* Trigger the Github Actions necessary to build wheels for the various platforms\n* For a GA release, upload the package to pypi::\n\n    # Clean the working directory\n    python setup.py clean\n    rm dist/*\n\n    # Build the source distribution\n    python setup.py sdist\n\n    # Download all wheels from the jfrog repository and copy them in\n    # the dist/ directory\n    cp /path/to/wheels/*.whl dist/\n\n    # Upload all files\n    twine upload dist/*\n\n* On pypi, make the latest GA the only visible version\n* Update the docs (see below)\n* Append a 'postN' string to the version tuple in ``cassandra/__init__.py``\n  so that it looks like ``(x, y, z, 'postN')``\n\n  * After a beta or rc release, this should look like ``(2, 1, '0b1', 'post0')``\n\n* After the release has been tagged, add a section to docs.yaml with the new tag ref::\n\n    versions:\n      - name: \u003cversion name\u003e\n        ref: \u003crelease tag\u003e\n\n* Commit and push\n* Update 'cassandra-test' branch to reflect new release\n\n    * this is typically a matter of merging or rebasing onto master\n    * test and push updated branch to origin\n\n* Update the JIRA releases: https://issues.apache.org/jira/projects/CASSPYTHON?selectedItem=com.atlassian.jira.jira-projects-plugin:release-page\n\n  * add release dates and set version as \"released\"\n\n* Make an announcement on the mailing list\n\nTests\n=====\n\nRunning Unit Tests\n------------------\nUnit tests can be run like so::\n\n    pytest tests/unit/\n\nYou can run a specific test method like so::\n\n    pytest tests/unit/test_connection.py::ConnectionTest::test_bad_protocol_version\n\nRunning Integration Tests\n-------------------------\nIn order to run integration tests, you must specify a version to run using the ``CASSANDRA_VERSION`` or ``DSE_VERSION`` environment variable::\n\n    CASSANDRA_VERSION=2.0.9 pytest tests/integration/standard\n\nOr you can specify a cassandra directory (to test unreleased versions)::\n\n    CASSANDRA_DIR=/path/to/cassandra pytest tests/integration/standard/\n\nSpecifying the usage of an already running Cassandra cluster\n------------------------------------------------------------\nThe test will start the appropriate Cassandra clusters when necessary  but if you don't want this to happen because a Cassandra cluster is already running the flag ``USE_CASS_EXTERNAL`` can be used, for example::\n\n    USE_CASS_EXTERNAL=1 CASSANDRA_VERSION=2.0.9 pytest tests/integration/standard\n\nSpecify a Protocol Version for Tests\n------------------------------------\nThe protocol version defaults to 1 for cassandra 1.2 and 2 otherwise.  You can explicitly set\nit with the ``PROTOCOL_VERSION`` environment variable::\n\n    PROTOCOL_VERSION=3 pytest tests/integration/standard\n\nTesting Multiple Python Versions\n--------------------------------\nUse tox to test all of Python 3.9 through 3.13 and pypy::\n\n    tox\n\nBy default, tox only runs the unit tests.\n\nRunning the Benchmarks\n======================\nThere needs to be a version of cassandra running locally so before running the benchmarks, if ccm is installed:\n\t\n\tccm create benchmark_cluster -v 3.0.1 -n 1 -s\n\nTo run the benchmarks, pick one of the files under the ``benchmarks/`` dir and run it::\n\n    python benchmarks/future_batches.py\n\nThere are a few options.  Use ``--help`` to see them all::\n\n    python benchmarks/future_batches.py --help\n\nPackaging for Cassandra\n=======================\nA source distribution is included in Cassandra, which uses the driver internally for ``cqlsh``.\nTo package a released version, checkout the tag and build a source zip archive::\n\n    python setup.py sdist --formats=zip\n\nIf packaging a pre-release (untagged) version, it is useful to include a commit hash in the archive\nname to specify the built version::\n\n    python setup.py egg_info -b-`git rev-parse --short HEAD` sdist --formats=zip\n\nThe file (``dist/cassandra-driver-\u003cversion spec\u003e.zip``) is packaged with Cassandra in ``cassandra/lib/cassandra-driver-internal-only*zip``.\n\nReleasing an EAP\n================\n\nAn EAP release is only uploaded on a private server and it is not published on pypi.\n\n* Clean the environment::\n\n    python setup.py clean\n\n* Package the source distribution::\n\n    python setup.py sdist\n\n* Test the source distribution::\n\n    pip install dist/cassandra-driver-\u003cversion\u003e.tar.gz\n\n* Upload the package on the EAP download server.\n* Build the documentation::\n\n    python setup.py doc\n\n* Upload the docs on the EAP download server.\n","funding_links":[],"categories":["Database Clients","Database Drivers"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcassandra-python-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fcassandra-python-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcassandra-python-driver/lists"}