{"id":24418,"library":"pytest-circleci-parallelized","title":"pytest-circleci-parallelized","description":"A pytest plugin to automatically split test execution across CircleCI parallel containers. Currently at v0.1.0, it distributes tests by timings or file path hash. Low release cadence; last release was initial.","status":"active","version":"0.1.0","language":"python","source_language":"en","source_url":"https://github.com/ryanwilsonperkin/pytest-circleci-parallelized","tags":["pytest","circleci","parallel","testing"],"install":[{"cmd":"pip install pytest-circleci-parallelized","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Plugin extends pytest; must be installed","package":"pytest","optional":false},{"reason":"Uses CircleCI environment variables (CIRCLE_NODE_INDEX, CIRCLE_NODE_TOTAL)","package":"circleci","optional":true}],"imports":[{"note":"Plugin auto-registers via conftest; no direct import needed.","symbol":"pytest","correct":"import pytest"}],"quickstart":{"code":"# Ensure CIRCLE_NODE_TOTAL and CIRCLE_NODE_INDEX are set\n# In CircleCI config, set parallelism > 1\n# Then run:\n#   pip install pytest-circleci-parallelized\n#   pytest --circleci-parallelize\n","lang":"bash","description":"Install the plugin and run pytest with --circleci-parallelize flag in a CircleCI job with parallelism > 1."},"warnings":[{"fix":"Only use in CircleCI parallel containers. For local testing, mock environment variables or run without the --circleci-parallelize flag.","message":"Plugin requires CircleCI environment variables (CIRCLE_NODE_TOTAL and CIRCLE_NODE_INDEX). If running locally, these won't be set and the plugin will fail or do nothing.","severity":"gotcha","affected_versions":"all"},{"fix":"Run without timings first to generate JUnit XML, then supply --store-timings to collect data.","message":"The plugin may not distribute tests evenly if timings data is missing. It falls back to file path hashing which can be unbalanced.","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure Python version >=2.7, !=3.0-3.3.","message":"Requires Python 2.7 or 3.4+ (not 3.0-3.3). No support for Python 3.13+ tested.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Set environment variables manually for testing: export CIRCLE_NODE_TOTAL=2; export CIRCLE_NODE_INDEX=0. Or run pytest without --circleci-parallelize.","cause":"Plugin checks environment variables; missing when not running on CircleCI or in a non-parallel job.","error":"UsageError: --circleci-parallelize requires CIRCLE_NODE_TOTAL and CIRCLE_NODE_INDEX to be set"},{"fix":"Check that test files follow pytest naming conventions (test_*.py) and are in the current directory. Run pytest --collect-only first.","cause":"Plugin may not collect tests if file patterns don't match or if test path is not detected.","error":"No tests were found"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}