--- id: teamcity-messages version: "1.33" license: Apache 2.0 license_treatment: permissive maintenance: active --- # teamcity-messages — Send test results to TeamCity continuous integration server from unittest, nose, py.test, twisted trial, behave (Python 2.6+) License: permissive · Maintenance: active · Downloads: 746.0K/mo ## What it is and what it does teamcity-messages bridges Python test frameworks and JetBrains TeamCity by translating test results into TeamCity service messages. It integrates with unittest, pytest, nose, Django, Twisted Trial, Behave, Flake8, and PyLint, allowing test output, failures, and skips to appear natively in TeamCity's build logs and UI. Most frameworks auto-detect TeamCity via the TEAMCITY_VERSION environment variable; unittest and some others require explicit runner substitution. The package has no external dependencies and installs as a lightweight wheel. It's been actively maintained since 2008, with recent updates for Python 3.12 and compatibility fixes for newer tool versions (coverage 7.5+, flake8 5.0+, pylint 2.12+). It's suitable for teams already using TeamCity who want seamless test reporting from Python projects. Use it for: - Report unittest test results directly to TeamCity build logs without manual parsing or custom scripts - Integrate pytest runs into TeamCity CI pipelines with automatic test hierarchy and failure details - Surface Flake8 linting violations as TeamCity build problems during continuous integration - Report Behave BDD test outcomes to TeamCity for behavior-driven development workflows - Capture PyLint code quality checks in TeamCity build status and test reporting - Enable Django test runner to report results to TeamCity when using Django 1.6+ ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Sends test results and build status from Python test frameworks (unittest, pytest, nose, Django, Twisted, Behave, Flake8, PyLint) to JetBrains TeamCity CI servers via service messages. Yes, if you use TeamCity and Python test frameworks. Low install friction, no dependencies, active maintenance, and permissive license make it a straightforward choice for TeamCity users. Not relevant if you use other CI systems (Jenkins, GitHub Actions, GitLab CI) or don't use TeamCity. ## Install pip install teamcity-messages uv add teamcity-messages poetry add teamcity-messages ## Installing teamcity-messages Before you install: Low friction: pure Python wheel with no runtime dependencies. Actively maintained with recent release (January 2025) and ongoing compatibility updates for modern Python versions. License in practice: Apache 2.0 permissive license allows use in commercial and open-source projects without significant restrictions. Quickstart: pip install teamcity-messages import unittest from teamcity.unittestpy import TeamcityTestRunner runner = TeamcityTestRunner() unittest.main(testRunner=runner) Must be running under a TeamCity build environment (detected via TEAMCITY_VERSION environment variable) for service messages to be sent; otherwise behaves as a pass-through. Verify before relying: - Whether pytest and nose plugins are auto-discovered or require explicit configuration beyond environment detection - Exact Python version support range (classifiers list 2.7 and 3.6+ but requires_python is unspecified) ## Package facts - License: Apache 2.0 (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 746.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags teamcity test reporting, unittest teamcity integration, pytest teamcity plugin, ci build status reporting, jetbrains teamcity python, test results to teamcity, nose flake8 teamcity, ci-integration, test-reporting, teamcity [View on SkillFed](https://skillfed.io/packages/teamcity-messages) · [View on PyPI](https://pypi.org/project/teamcity-messages/)