English | 简体中文
- 1. Introduction
- 2. Documentation
- 3. Prerequisites
- 4. Building
- 5. Testing
- 6. Packaging
- 7. CI/CD
- 8. Submitting Issues
- 9. Submitting PRs
- 10. References
- 11. License
taospy is the official Python Connector for TDengine, allowing Python developers to develop applications that access the TDengine database. It supports functions such as data writing, querying, subscription, schemaless writing, and parameter binding.
The API for taospy is compliant with the Python DB API 2.0 (PEP-249). It contains two modules:
- The
taosmodule. It uses TDengine C client library for client server communications. - The
taosrestmodule. It wraps TDengine RESTful API to Python DB API 2.0 (PEP-249). With this module, you do not need to install the TDengine C client library.
- To use Python Connector, please check Developer Guide, which includes how an application can introduce the Python Connector , as well as examples of data writing, querying, schemaless writing, parameter binding, and data subscription.
- For other reference information, please check Reference Manual, which includes version history, data types, example programs, API descriptions, and FAQs.
- This quick guide is mainly for developers who like to contribute/build/test the Python Connector by themselves. To learn about TDengine, you can visit the official documentation.
- Python >= 3.7, pip
- For
taosnative connector: TDengine client library (libtaos.so) - For
taos-ws-py: Rust toolchain >= 1.64, maturin - TDengine has been deployed locally. For specific steps, please refer to Deploy TDengine, and taosd and taosAdapter have been started.
Ubuntu/Debian:
sudo apt-get install -y python3 python3-pip python3-venvCentOS/RHEL:
sudo yum install -y python3 python3-pippip3 install maturin# taospy (pure Python)
git clone https://github.com/taosdata/taos-connector-python.git
cd taos-connector-python
pip3 install -e ".[dev]"
# taos-ws-py (Rust WebSocket bindings)
cd taos-ws-py
maturin develop # builds and installs in current venv
# or
maturin build --release # produces a wheel in target/wheels/The Python Connector testing framework is pytest
The testing directory for taospy is located in the root directory: tests/
The testing directory for taos-ws-py is located in the root directory: taos-ws-py/tests/
The test code has been written into one bash file. You can open and view the detailed testing process
The following command runs all test cases on Linux platform:
# taospy
pytest tests/
# or
bash ./test_taospy.sh# taos-ws-py
cd taos-ws-py
maturin develop
pytest tests/
cd ..
# or
bash ./test_taos-ws-py.shYou can add new test files or add test cases in existing test files that comply with pytest standards
Performance testing is in progress.
# taospy
python3 -m build
# Output: dist/taospy-<version>.tar.gz, dist/taospy-<version>-py3-none-any.whl
# taos-ws-py
cd taos-ws-py
maturin build --release
# Output: target/wheels/taos_ws_py-<version>-*.whlWe welcome the submission of GitHub Issue. When submitting, please provide the following information:
- Problem description, whether it always occurs, and it's best to include a detailed call stack.
- Python Connector version.
- Python Connection parameters (username and password not required).
- TDengine server version.
We welcome developers to contribute to this project. When submitting PRs, please follow these steps:
- Fork this project, refer to (how to fork a repo).
- Create a new branch from the main branch with a meaningful branch name (
git checkout -b my_branch). Do not modify the main branch directly. - Modify the code, ensure all unit tests pass, and add new unit tests to verify the changes.
- Push the changes to the remote branch (
git push origin my_branch). - Create a Pull Request on GitHub (how to create a pull request).
- After submitting the PR, you can find your PR through the Pull Request. Click on the corresponding link to see if the CI for your PR has passed. If it has passed, it will display "All checks have passed". Regardless of whether the CI passes or not, you can click "Show all checks" -> "Details" to view the detailed test case logs.
- After submitting the PR, if CI passes, you can find your PR on the codecov page to check the test coverage.