{"id":16748049,"url":"https://github.com/kyle-verhoog/dd-trace-py-test","last_synced_at":"2026-02-19T16:03:49.845Z","repository":{"id":76512590,"uuid":"285371924","full_name":"Kyle-Verhoog/dd-trace-py-test","owner":"Kyle-Verhoog","description":"test ci stuff","archived":false,"fork":false,"pushed_at":"2022-12-14T19:11:09.000Z","size":3088,"stargazers_count":1,"open_issues_count":34,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-19T11:55:20.720Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kyle-Verhoog.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-05T18:25:39.000Z","updated_at":"2022-11-21T22:19:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"ebc7b982-a9a4-4853-9143-2b2f3f82dc46","html_url":"https://github.com/Kyle-Verhoog/dd-trace-py-test","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Kyle-Verhoog/dd-trace-py-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyle-Verhoog%2Fdd-trace-py-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyle-Verhoog%2Fdd-trace-py-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyle-Verhoog%2Fdd-trace-py-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyle-Verhoog%2Fdd-trace-py-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kyle-Verhoog","download_url":"https://codeload.github.com/Kyle-Verhoog/dd-trace-py-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyle-Verhoog%2Fdd-trace-py-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29621902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2024-10-13T02:11:37.669Z","updated_at":"2026-02-19T16:03:47.850Z","avatar_url":"https://github.com/Kyle-Verhoog.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `ddtrace`\n\n[![CircleCI](https://circleci.com/gh/DataDog/dd-trace-py/tree/1.x.svg?style=svg)](https://circleci.com/gh/DataDog/dd-trace-py/tree/1.x)\n[![PypiVersions](https://img.shields.io/pypi/v/ddtrace.svg)](https://pypi.org/project/ddtrace/)\n[![Pyversions](https://img.shields.io/pypi/pyversions/ddtrace.svg?style=flat)](https://pypi.org/project/ddtrace/)\n\n\u003cimg align=\"right\" src=\"https://user-images.githubusercontent.com/6321485/167082083-53f6e48f-1843-4708-9b98-587c94f7ddb3.png\" alt=\"bits python\" width=\"200px\"/\u003e\n\nThis repository contains `ddtrace`, Datadog's APM client Python package. `ddtrace` contains APIs to automatically or\nmanually [trace](https://docs.datadoghq.com/tracing/visualization/#trace) and\n[profile](https://docs.datadoghq.com/tracing/profiler/) Python applications.\n\nThese features power [Distributed Tracing](https://docs.datadoghq.com/tracing/),\n [Continuous Profiling](https://docs.datadoghq.com/tracing/profiler/),\n [Error Tracking](https://docs.datadoghq.com/tracing/error_tracking/),\n [Continuous Integration Visibility](https://docs.datadoghq.com/continuous_integration/),\n [Deployment Tracking](https://docs.datadoghq.com/tracing/deployment_tracking/),\n [Code Hotspots](https://docs.datadoghq.com/tracing/profiler/connect_traces_and_profiles/) and more.\n\nTo get started, check out the [setup documentation][setup docs].\n\nFor advanced usage and configuration, check out the [API documentation][api docs].\n\nConfused about the terminology of APM? Take a look at the [APM Glossary][visualization docs].\n\n[setup docs]: https://docs.datadoghq.com/tracing/setup/python/\n[api docs]: https://ddtrace.readthedocs.io/\n[visualization docs]: https://docs.datadoghq.com/tracing/visualization/\n\n## Development\n\n### Contributing\n\nSee [the contributing docs](https://ddtrace.readthedocs.io/en/stable/contributing.html) first.\n\n### Pre-commit Hooks\n\nThe tracer library uses formatting/linting tools including black, flake8, and mypy.\nWhile these are run in each CI pipeline for pull requests, they are automated to run\nwhen you call `git commit` as pre-commit hooks to catch any formatting errors before\nyou commit. To initialize the pre-commit hook script to run in your development\nbranch, run the following command:\n\n    $ hooks/autohook.sh install\n\n### Set up your environment\n\n#### Set up docker\n\nThe test suite requires many backing services such as PostgreSQL, MySQL, Redis\nand more. We use `docker` and `docker-compose` to run the services in our CI\nand for development. To run the test matrix, please [install docker][docker] and\n[docker-compose][docker-compose] using the instructions provided by your platform. Then\nlaunch them through:\n\n    $ docker-compose up -d\n\n[docker]: https://www.docker.com/products/docker\n[docker-compose]: https://www.docker.com/products/docker-compose\n\n#### Set up Python\n\n1. Clone the repository locally: `git clone https://github.com/DataDog/dd-trace-py`\n2. The tests for this project run on various versions of Python. We recommend\n   using a Python version management tool, such as\n   [pyenv](https://github.com/pyenv/pyenv), to utilize multiple versions of\n   Python. [How to install Pyenv](https://github.com/pyenv/pyenv#installation) \n3. Install the relevant versions of Python in Pyenv: `pyenv install 2.7.18 3.5.10 3.6.15 3.7.13 3.8.13 3.9.13 3.10.5`\n4. Make those versions available globally: `pyenv global 2.7.18 3.5.10 3.6.15 3.7.13 3.8.13 3.9.13 3.10.5`\n\n### Testing\n\n#### Running Tests in docker\n\nOnce your docker-compose environment is running, you can use the shell script to\nexecute tests within a Docker image. You can start the container with a bash shell:\n\n    $ scripts/ddtest\n\nYou can now run tests as you would do in your local environment. We use\n[tox][tox] as well as [riot][riot], a new tool that we developed for addressing\nour specific needs with an ever growing matrix of tests. You can list the tests\nmanaged by each:\n\n    $ tox -l\n    $ riot list\n\nYou can run multiple tests by using regular expressions:\n\n    $ scripts/run-tox-scenario '^futures_contrib-'\n    $ riot run psycopg\n\n[tox]: https://github.com/tox-dev/tox/\n[riot]: https://github.com/DataDog/riot/\n\n#### Running Tests locally\n\n1. Install riot: `pip install riot`.\n2. Create the base virtual environments: `riot -v generate`.\n3. You can list the available test suites with `riot list`.\n4. Certain tests might require running service containers in order to emulate\n   the necessary testing environment. You can spin up individual containers with\n   `docker-compose up -d \u003cSERVICE_NAME\u003e`, where `\u003cSERVICE_NAME\u003e` should match a\n   service specified in the `docker-compose.yml` file.\n5. Run a test suite: `riot -v run \u003cRUN_FLAGS\u003e \u003cTEST_SUITE_NAME\u003e`.\n   1. Optionally, use the `-s` and `-x` flags: `-s` prevents riot from\n      reinstalling the dev package; `-x` forces an exit after the first failed\n      test suite. To limit the tests to a particular version of Python, use the\n      `-p` flag: `riot -v run -p \u003cPYTHON_VERSION\u003e`.\n\nThe `run` command uses regex syntax, which in some cases will cause multiple\ntest suites to run. Use the following syntax to ensure only an individual suite\nruns: `^\u003cTEST_SUITE_NAME\u003e$` where `^` signifies the start of a string and `$`\nsignifies the end of a string. For example, use `riot -v run -s -x ^redis$` to\nrun only the redis suite.\n\n#### Use the APM Test Agent\n\nThe APM test agent can emulate the APM endpoints of the Datadog agent. Spin up\nthe `testagent` container along with any other service container:\n\n    $ docker-compose up -d testagent \u003cSERVICE_CONTAINER\u003e\n\nRun the test agent as a proxy in your tests:\n\n    $ DD_TRACE_AGENT_URL=http://localhost:9126/ riot -v run \u003cRUN_FLAGS\u003e --pass-env \u003cTEST_SUITE_NAME\u003e\n\n`--pass-env` injects the environment variables of the current shell session into\nthe command. Here's an example command for running the redis test suite along\nwith the test agent, limited to tests for Python 3.9:\n\n    $ DD_TRACE_AGENT_URL=http://localhost:9126/ riot -v run -p 3.9 -s -x --pass-env '^redis$'\n\nRead more about the APM test agent:\nhttps://github.com/datadog/dd-apm-test-agent#readme\n\n### Continuous Integration\n\nWe use CircleCI 2.0 for our continuous integration.\n\n#### Configuration\n\nThe CI tests are configured through [config.yml](.circleci/config.yml).\n\n#### Running Locally\n\nThe CI tests can be run locally using the `circleci` CLI. More information about\nthe CLI can be found at https://circleci.com/docs/2.0/local-cli/.\n\nAfter installing the `circleci` CLI, you can run jobs by name. For example:\n\n    $ circleci build --job django\n\n### Release Notes\n\nThis project follows [semver](https://semver.org/) and so bug fixes, breaking\nchanges, new features, etc must be accompanied by a release note. To generate a\nrelease note:\n\n    $ riot run reno new \u003cshort-description-of-change\u003e\n\nDocument the changes in the generated file, remove the irrelevant sections and\ncommit the release note with the change.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyle-verhoog%2Fdd-trace-py-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkyle-verhoog%2Fdd-trace-py-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyle-verhoog%2Fdd-trace-py-test/lists"}