devrev-Python-SDK 2.0.0__tar.gz → 2.1.1__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.
- devrev_python_sdk-2.1.1/.augment/rules/devrev-sdk.md +202 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/ci.yml +3 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/PKG-INFO +5 -4
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/README.md +4 -3
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/SECURITY.md +1 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/benchmarks/README.md +1 -1
- devrev_python_sdk-2.1.1/context7.json +4 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/changelog.md +6 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/getting-started/installation.md +12 -12
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/index.md +5 -1
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/README.md +1 -1
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/basic/README.md +1 -1
- devrev_python_sdk-2.1.1/llms-ctx-full.txt +336 -0
- devrev_python_sdk-2.1.1/llms-ctx.txt +167 -0
- devrev_python_sdk-2.1.1/llms.txt +65 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/mkdocs.yml +5 -2
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/pyproject.toml +1 -1
- devrev_python_sdk-2.1.1/scripts/build_ai_docs.py +176 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/__init__.py +1 -1
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/rev_users.py +8 -1
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/uv.lock +1 -1
- devrev_python_sdk-2.0.0/OPENAPI_SPEC_DISCREPANCIES.md +0 -1
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/bug-fixer.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/builder.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/documentation.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/foreman.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/pr-review-boss.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/release-manager.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/simplifier.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/agents/tester.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/commands/foreman-work.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/commands/release-prepare.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/commands/review-start.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/commands/simplify-code.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/rules/code-quality.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/rules/data-modeling.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/rules/git-workflow.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/rules/pull-requests.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/rules/python-development.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/rules/security.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.augment/rules/testing.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.env.sample +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/ISSUE_TEMPLATE/question.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/dependabot.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/pull_request_template.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/api-check.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/claude-code-review.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/claude.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/docs.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/integration-tests.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/release.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.github/workflows/sync-openapi.yml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.gitignore +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/.pre-commit-config.yaml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/CODE_OF_CONDUCT.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/CONTRIBUTING.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/DEPRECATIONS.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/KNOWN_ISSUES.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/benchmarks/bench_http_client.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/benchmarks/bench_models.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/benchmarks/bench_pagination.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/benchmarks/conftest.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/cloudbuild.yaml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/brands.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/engagements.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/incidents.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/index.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/question-answers.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/recommendations.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/search.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta/uoms.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/beta-api-differences.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/client.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/config.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/exceptions.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/index.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/models/accounts.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/models/base.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/models/index.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/models/users.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/models/works.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/accounts.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/articles.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/code-changes.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/conversations.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/dev-users.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/groups.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/index.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/links.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/parts.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/rev-users.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/slas.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/tags.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/timeline-entries.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/webhooks.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/api/services/works.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/examples/advanced.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/examples/basic.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/examples/beta-features.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/examples/index.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/examples/integrations.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/getting-started/authentication.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/getting-started/index.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/getting-started/quickstart.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/beta-api.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/compatibility.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/configuration.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/error-handling.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/github-actions-setup.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/index.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/logging.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/pagination.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/sync-vs-async.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/testing.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/version-support.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/docs/guides/write-integration-testing-strategy.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/basic/async_example.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/basic/create_work.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/basic/error_handling.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/basic/list_accounts.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/basic/pagination.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/basic/search_users.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/cloud_functions/README.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/cloud_functions/main.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/cloud_functions/requirements.txt +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/fastapi/README.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/fastapi/main.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/fastapi/requirements.txt +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/flask/README.md +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/flask/app.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/examples/integrations/flask/requirements.txt +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/openapi-beta.yaml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/openapi-public.yaml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/openapi-spec-corrections.yaml +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/scripts/setup-github-secrets.sh +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/client.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/config.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/exceptions.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/accounts.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/articles.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/base.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/brands.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/code_changes.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/conversations.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/dev_users.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/engagements.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/groups.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/incidents.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/links.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/notifications.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/parts.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/preferences.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/question_answers.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/recommendations.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/search.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/slas.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/sync.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/tags.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/tasks.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/timeline_entries.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/timeline_events.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/track_events.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/uoms.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/webhooks.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/widgets.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/models/works.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/py.typed +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/accounts.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/articles.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/base.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/brands.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/code_changes.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/conversations.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/dev_users.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/engagements.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/groups.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/incidents.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/links.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/notifications.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/parts.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/preferences.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/question_answers.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/recommendations.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/rev_users.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/search.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/slas.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/tags.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/timeline_entries.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/track_events.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/uoms.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/webhooks.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/services/works.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/utils/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/utils/deprecation.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/utils/http.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/utils/logging.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/src/devrev/utils/pagination.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/conftest.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/conftest.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_all_readonly_endpoints.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_backwards_compatibility.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_core_services_phase1.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_extended_services_phase2.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_get_endpoints.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_ping.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_readonly_endpoints.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_specialized_services_phase3.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/test_write_operations.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/utils/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/utils/cleanup.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/utils/constants.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/integration/utils/data_manager.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/models/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/__init__.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/conftest.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_articles.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_async_services.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_brands.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_code_changes.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_conversations.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_engagements.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_groups.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_incidents.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_links.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_notifications.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_parts.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_preferences.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_question_answers.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_recommendations.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_search.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_slas.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_tags.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_timeline_entries.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_track_events.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_uoms.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_webhooks.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/services/test_works.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_base_service.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_client.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_config.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_deprecation.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_exceptions.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_http.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_logging.py +0 -0
- {devrev_python_sdk-2.0.0 → devrev_python_sdk-2.1.1}/tests/unit/test_pagination.py +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# DevRev SDK Usage Guidelines
|
|
2
|
+
|
|
3
|
+
This rule file provides guidance for AI agents when generating code that uses the DevRev Python SDK.
|
|
4
|
+
|
|
5
|
+
## Client Initialization
|
|
6
|
+
|
|
7
|
+
### Environment Variables (Recommended)
|
|
8
|
+
|
|
9
|
+
Always use environment variables for API tokens - never hardcode:
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
# Correct - reads from DEVREV_API_TOKEN environment variable
|
|
13
|
+
from devrev import DevRevClient
|
|
14
|
+
|
|
15
|
+
client = DevRevClient()
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Context Managers
|
|
19
|
+
|
|
20
|
+
Always use context managers for proper resource cleanup:
|
|
21
|
+
|
|
22
|
+
```python
|
|
23
|
+
from devrev import DevRevClient, AsyncDevRevClient
|
|
24
|
+
|
|
25
|
+
# Sync client
|
|
26
|
+
with DevRevClient() as client:
|
|
27
|
+
accounts = client.accounts.list()
|
|
28
|
+
|
|
29
|
+
# Async client
|
|
30
|
+
async with AsyncDevRevClient() as client:
|
|
31
|
+
accounts = await client.accounts.list()
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Configuration
|
|
35
|
+
|
|
36
|
+
For custom configuration:
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import os
|
|
40
|
+
from devrev import DevRevClient, DevRevConfig
|
|
41
|
+
|
|
42
|
+
config = DevRevConfig(
|
|
43
|
+
api_token=os.environ["DEVREV_API_TOKEN"],
|
|
44
|
+
timeout=60,
|
|
45
|
+
max_retries=3
|
|
46
|
+
)
|
|
47
|
+
client = DevRevClient(config=config)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Response Handling
|
|
51
|
+
|
|
52
|
+
Response objects contain data in nested attributes - always access the correct attribute:
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from devrev import DevRevClient
|
|
56
|
+
|
|
57
|
+
client = DevRevClient()
|
|
58
|
+
|
|
59
|
+
# CORRECT
|
|
60
|
+
accounts_response = client.accounts.list()
|
|
61
|
+
for account in accounts_response.accounts: # Note: .accounts
|
|
62
|
+
print(account.display_name)
|
|
63
|
+
|
|
64
|
+
# CORRECT
|
|
65
|
+
work_response = client.works.get(id="don:core:...")
|
|
66
|
+
print(work_response.work.title) # Note: .work
|
|
67
|
+
|
|
68
|
+
# INCORRECT - This will fail
|
|
69
|
+
# print(accounts_response.title) # Wrong! Response is not the data
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Error Handling
|
|
73
|
+
|
|
74
|
+
Always handle exceptions from `devrev.exceptions`:
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
import time
|
|
78
|
+
import logging
|
|
79
|
+
from devrev import DevRevClient
|
|
80
|
+
from devrev.exceptions import (
|
|
81
|
+
DevRevError,
|
|
82
|
+
NotFoundError,
|
|
83
|
+
ValidationError,
|
|
84
|
+
RateLimitError,
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
logger = logging.getLogger(__name__)
|
|
88
|
+
client = DevRevClient()
|
|
89
|
+
work_id = "don:core:dvrv-us-1:devo/1:work/123" # Example work ID
|
|
90
|
+
|
|
91
|
+
try:
|
|
92
|
+
work = client.works.get(id=work_id)
|
|
93
|
+
except NotFoundError:
|
|
94
|
+
# Handle missing resource
|
|
95
|
+
pass
|
|
96
|
+
except RateLimitError as e:
|
|
97
|
+
# Wait and retry
|
|
98
|
+
time.sleep(e.retry_after)
|
|
99
|
+
except DevRevError as e:
|
|
100
|
+
# Log error details
|
|
101
|
+
logger.error(f"API error: {e.message}, status: {e.status_code}")
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Pagination
|
|
105
|
+
|
|
106
|
+
DevRev uses cursor-based pagination - never use page numbers:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
from devrev import DevRevClient
|
|
110
|
+
|
|
111
|
+
client = DevRevClient()
|
|
112
|
+
|
|
113
|
+
# CORRECT - cursor-based pagination
|
|
114
|
+
cursor = None
|
|
115
|
+
all_items = []
|
|
116
|
+
|
|
117
|
+
while True:
|
|
118
|
+
response = client.accounts.list(cursor=cursor, limit=50)
|
|
119
|
+
all_items.extend(response.accounts)
|
|
120
|
+
cursor = response.next_cursor
|
|
121
|
+
if not cursor:
|
|
122
|
+
break
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Creating Work Items
|
|
126
|
+
|
|
127
|
+
Always use the `WorkType` enum and provide required fields:
|
|
128
|
+
|
|
129
|
+
```python
|
|
130
|
+
from devrev import DevRevClient
|
|
131
|
+
from devrev.models import WorkType
|
|
132
|
+
|
|
133
|
+
client = DevRevClient()
|
|
134
|
+
|
|
135
|
+
# Creating a ticket (customer-facing)
|
|
136
|
+
response = client.works.create(
|
|
137
|
+
type=WorkType.TICKET,
|
|
138
|
+
title="Descriptive title",
|
|
139
|
+
applies_to_part="don:core:dvrv-us-1:devo/1:part/1", # Required
|
|
140
|
+
body="Detailed description"
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
# Creating an issue (internal)
|
|
144
|
+
response = client.works.create(
|
|
145
|
+
type=WorkType.ISSUE,
|
|
146
|
+
title="Bug: Dashboard loading error",
|
|
147
|
+
applies_to_part="don:core:dvrv-us-1:devo/1:part/1",
|
|
148
|
+
body="Technical details..."
|
|
149
|
+
)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## ID Format
|
|
153
|
+
|
|
154
|
+
DevRev uses DON (DevRev Object Notation) IDs:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
don:core:dvrv-us-1:devo/1:ticket/123
|
|
158
|
+
don:core:dvrv-us-1:devo/1:part/456
|
|
159
|
+
don:identity:dvrv-us-1:devo/1:devu/789
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Never construct IDs manually - always use IDs returned from API responses.
|
|
163
|
+
|
|
164
|
+
## Async Best Practices
|
|
165
|
+
|
|
166
|
+
For concurrent operations, use `asyncio.gather`:
|
|
167
|
+
|
|
168
|
+
```python
|
|
169
|
+
import asyncio
|
|
170
|
+
from devrev import AsyncDevRevClient
|
|
171
|
+
|
|
172
|
+
async def fetch_data():
|
|
173
|
+
async with AsyncDevRevClient() as client:
|
|
174
|
+
# Parallel requests - much faster
|
|
175
|
+
accounts, works, users = await asyncio.gather(
|
|
176
|
+
client.accounts.list(limit=10),
|
|
177
|
+
client.works.list(limit=50),
|
|
178
|
+
client.dev_users.list()
|
|
179
|
+
)
|
|
180
|
+
return accounts, works, users
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Anti-Patterns to Avoid
|
|
184
|
+
|
|
185
|
+
1. **Never hardcode API tokens** in source code
|
|
186
|
+
2. **Never use page numbers** - use cursor-based pagination
|
|
187
|
+
3. **Never access response data directly** - use the nested attribute
|
|
188
|
+
4. **Never create clients without cleanup** - use context managers
|
|
189
|
+
5. **Never ignore rate limits** - handle `RateLimitError` with retry
|
|
190
|
+
6. **Never construct DON IDs** - always use IDs from API responses
|
|
191
|
+
|
|
192
|
+
## Beta API
|
|
193
|
+
|
|
194
|
+
For beta features, explicitly enable the beta API:
|
|
195
|
+
|
|
196
|
+
```python
|
|
197
|
+
from devrev import DevRevClient, APIVersion
|
|
198
|
+
|
|
199
|
+
client = DevRevClient(api_version=APIVersion.BETA)
|
|
200
|
+
# Now beta services are available: incidents, engagements, search, etc.
|
|
201
|
+
```
|
|
202
|
+
|
|
@@ -35,6 +35,9 @@ jobs:
|
|
|
35
35
|
- name: Type check with mypy
|
|
36
36
|
run: mypy src/
|
|
37
37
|
|
|
38
|
+
- name: Validate AI documentation
|
|
39
|
+
run: python scripts/build_ai_docs.py --verbose
|
|
40
|
+
|
|
38
41
|
- name: Run tests (unit tests only)
|
|
39
42
|
run: pytest --cov=src/devrev --cov-report=xml -v -m "not integration"
|
|
40
43
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devrev-Python-SDK
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.1.1
|
|
4
4
|
Summary: A modern, type-safe Python SDK for the DevRev API
|
|
5
5
|
Project-URL: Homepage, https://github.com/mgmonteleone/py-dev-rev
|
|
6
6
|
Project-URL: Documentation, https://github.com/mgmonteleone/py-dev-rev
|
|
@@ -67,7 +67,8 @@ Description-Content-Type: text/markdown
|
|
|
67
67
|
|
|
68
68
|
A modern, type-safe Python SDK for the DevRev API.
|
|
69
69
|
|
|
70
|
-
[](https://www.augmentcode.com/)
|
|
71
|
+
[](https://pypi.org/project/devrev-Python-SDK/)
|
|
71
72
|
[](https://www.python.org/downloads/)
|
|
72
73
|
[](https://mypy-lang.org/)
|
|
73
74
|
[](https://github.com/astral-sh/ruff)
|
|
@@ -149,10 +150,10 @@ This SDK is generated and maintained from the official DevRev OpenAPI specificat
|
|
|
149
150
|
|
|
150
151
|
## Installation
|
|
151
152
|
|
|
152
|
-
### From
|
|
153
|
+
### From PyPI (Recommended)
|
|
153
154
|
|
|
154
155
|
```bash
|
|
155
|
-
pip install
|
|
156
|
+
pip install devrev-python-sdk
|
|
156
157
|
```
|
|
157
158
|
|
|
158
159
|
### From Source
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
A modern, type-safe Python SDK for the DevRev API.
|
|
4
4
|
|
|
5
|
-
[](https://www.augmentcode.com/)
|
|
6
|
+
[](https://pypi.org/project/devrev-Python-SDK/)
|
|
6
7
|
[](https://www.python.org/downloads/)
|
|
7
8
|
[](https://mypy-lang.org/)
|
|
8
9
|
[](https://github.com/astral-sh/ruff)
|
|
@@ -84,10 +85,10 @@ This SDK is generated and maintained from the official DevRev OpenAPI specificat
|
|
|
84
85
|
|
|
85
86
|
## Installation
|
|
86
87
|
|
|
87
|
-
### From
|
|
88
|
+
### From PyPI (Recommended)
|
|
88
89
|
|
|
89
90
|
```bash
|
|
90
|
-
pip install
|
|
91
|
+
pip install devrev-python-sdk
|
|
91
92
|
```
|
|
92
93
|
|
|
93
94
|
### From Source
|
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.1.1] - 2026-01-23
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **RevUserState enum missing states** (#115) - Added missing `DEACTIVATED`, `LOCKED`, `SHADOW`, and `UNASSIGNED` states to the `RevUserState` enum to match the DevRev API `user-state` schema. This fixes Pydantic validation errors when the API returns users with these states.
|
|
15
|
+
|
|
10
16
|
## [2.0.0] - 2026-01-18
|
|
11
17
|
|
|
12
18
|
🚀 **Major Release** - Beta API support, performance enhancements, and 100% integration test coverage!
|
|
@@ -12,7 +12,7 @@ This guide covers all methods for installing the DevRev Python SDK.
|
|
|
12
12
|
The simplest way to install:
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
pip install
|
|
15
|
+
pip install devrev-python-sdk
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Installation Methods
|
|
@@ -20,7 +20,7 @@ pip install py-devrev
|
|
|
20
20
|
### Using pip (Recommended)
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
pip install
|
|
23
|
+
pip install devrev-python-sdk
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
### Using uv (Faster)
|
|
@@ -28,13 +28,13 @@ pip install py-devrev
|
|
|
28
28
|
[uv](https://github.com/astral-sh/uv) is a fast Python package installer:
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
uv pip install
|
|
31
|
+
uv pip install devrev-python-sdk
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
### Using Poetry
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
poetry add
|
|
37
|
+
poetry add devrev-python-sdk
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
### Using pipx (For CLI tools)
|
|
@@ -42,7 +42,7 @@ poetry add py-devrev
|
|
|
42
42
|
If you're using the SDK as a CLI tool:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
pipx install
|
|
45
|
+
pipx install devrev-python-sdk
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
## Development Installation
|
|
@@ -82,7 +82,7 @@ After installation, verify it works:
|
|
|
82
82
|
```python
|
|
83
83
|
>>> import devrev
|
|
84
84
|
>>> print(devrev.__version__)
|
|
85
|
-
0.
|
|
85
|
+
2.0.0
|
|
86
86
|
>>> from devrev import DevRevClient
|
|
87
87
|
>>> # Success!
|
|
88
88
|
```
|
|
@@ -103,7 +103,7 @@ We recommend using virtual environments:
|
|
|
103
103
|
python -m venv .venv
|
|
104
104
|
source .venv/bin/activate # Linux/macOS
|
|
105
105
|
.venv\Scripts\activate # Windows
|
|
106
|
-
pip install
|
|
106
|
+
pip install devrev-python-sdk
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
=== "conda"
|
|
@@ -111,7 +111,7 @@ We recommend using virtual environments:
|
|
|
111
111
|
```bash
|
|
112
112
|
conda create -n devrev python=3.11
|
|
113
113
|
conda activate devrev
|
|
114
|
-
pip install
|
|
114
|
+
pip install devrev-python-sdk
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
=== "pyenv + virtualenv"
|
|
@@ -120,7 +120,7 @@ We recommend using virtual environments:
|
|
|
120
120
|
pyenv install 3.11.0
|
|
121
121
|
pyenv virtualenv 3.11.0 devrev
|
|
122
122
|
pyenv activate devrev
|
|
123
|
-
pip install
|
|
123
|
+
pip install devrev-python-sdk
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
## Upgrading
|
|
@@ -128,7 +128,7 @@ We recommend using virtual environments:
|
|
|
128
128
|
To upgrade to the latest version:
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
pip install --upgrade
|
|
131
|
+
pip install --upgrade devrev-python-sdk
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
## Troubleshooting
|
|
@@ -161,12 +161,12 @@ If you get permission errors:
|
|
|
161
161
|
|
|
162
162
|
```bash
|
|
163
163
|
# Use --user flag
|
|
164
|
-
pip install --user
|
|
164
|
+
pip install --user devrev-python-sdk
|
|
165
165
|
|
|
166
166
|
# Or use a virtual environment (recommended)
|
|
167
167
|
python -m venv .venv
|
|
168
168
|
source .venv/bin/activate
|
|
169
|
-
pip install
|
|
169
|
+
pip install devrev-python-sdk
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
## Next Steps
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# DevRev Python SDK
|
|
2
2
|
|
|
3
|
+
[](https://www.augmentcode.com/)
|
|
4
|
+
[](https://pypi.org/project/devrev-Python-SDK/)
|
|
5
|
+
[](https://www.python.org/downloads/)
|
|
6
|
+
|
|
3
7
|
A modern, type-safe Python SDK for the [DevRev API](https://devrev.ai).
|
|
4
8
|
|
|
5
9
|
<div class="grid cards" markdown>
|
|
@@ -96,7 +100,7 @@ A modern, type-safe Python SDK for the [DevRev API](https://devrev.ai).
|
|
|
96
100
|
## Installation
|
|
97
101
|
|
|
98
102
|
```bash
|
|
99
|
-
pip install
|
|
103
|
+
pip install devrev-python-sdk
|
|
100
104
|
```
|
|
101
105
|
|
|
102
106
|
See the [Installation Guide](getting-started/installation.md) for more options.
|