Shared packages for job-agent platform microservices. These packages are used by
scrappers, scrappers-mock, and other services.
| Package | Description |
|---|---|
job-scrapper-contracts |
Data models and interfaces for job scraping |
scrapper-messaging |
RabbitMQ messaging components |
telemetry |
OpenTelemetry distributed tracing |
Install all shared packages in development mode:
pip install -e packages/job-scrapper-contracts[dev]
pip install -e packages/scrapper-messaging[dev]
pip install -e packages/telemetry[dev]Run all unit tests from the shared root:
pytestRun tests for a specific package:
pytest packages/job-scrapper-contracts
pytest packages/scrapper-messaging
pytest packages/telemetrySmoke tests verify type checking and basic package health. They are centralized in
smoke_tests/ and cover all shared packages using parametrized tests.
python -m pytest smoke_tests -m smoke -vThe smoke marker is defined in pyproject.toml.
shared/
├── packages/
│ ├── job-scrapper-contracts/ # Package with unit tests
│ ├── scrapper-messaging/ # Package with unit tests
│ └── telemetry/ # Package with unit tests
└── smoke_tests/ # Centralized smoke tests
├── conftest.py # Shared fixtures
└── test_type_checking.py # Type checking tests (parametrized)
Run linting and formatting:
./scripts/lint_and_format.sh