{"id":31056481,"url":"https://github.com/spoje-net/python3-tapo","last_synced_at":"2025-09-15T05:27:21.847Z","repository":{"id":313950748,"uuid":"1053545183","full_name":"Spoje-NET/python3-tapo","owner":"Spoje-NET","description":"Unofficial Tapo API Client debian package","archived":false,"fork":false,"pushed_at":"2025-09-09T19:15:59.000Z","size":3283,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-09T19:51:12.891Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Spoje-NET.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-09T15:39:39.000Z","updated_at":"2025-09-09T19:16:27.000Z","dependencies_parsed_at":"2025-09-09T19:51:14.112Z","dependency_job_id":"80c2b5e6-5f75-4a17-9ba5-12f6236dde1f","html_url":"https://github.com/Spoje-NET/python3-tapo","commit_stats":null,"previous_names":["spoje-net/python3-tapo"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Spoje-NET/python3-tapo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fpython3-tapo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fpython3-tapo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fpython3-tapo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fpython3-tapo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Spoje-NET","download_url":"https://codeload.github.com/Spoje-NET/python3-tapo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fpython3-tapo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275207979,"owners_count":25423926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-15T05:27:17.066Z","updated_at":"2025-09-15T05:27:21.828Z","avatar_url":"https://github.com/Spoje-NET.png","language":"Python","readme":"# python3-tapo - Debian Package\n\nThis repository contains the Debian packaging files for the [Tapo Python library](https://pypi.org/project/tapo/) - an unofficial API client for TP-Link Tapo smart devices.\n\n## About Tapo\n\nTapo is a Rust-based Python library that provides an API client for controlling TP-Link Tapo smart devices. It supports a wide range of devices including:\n\n- **Light bulbs**: L510, L520, L530, L535, L610, L630\n- **Light strips**: L900, L920, L930  \n- **Smart plugs**: P100, P105, P110, P110M, P115\n- **Power strips**: P300, P304M, P316M\n- **Hubs**: H100\n- **Switches**: S200B\n- **Sensors**: KE100, T100, T110, T300, T310, T315\n\n## Package Information\n\n- **Package Name**: `python3-tapo`\n- **Version**: 0.8.4-1\n- **Architecture**: amd64\n- **Section**: python\n- **Priority**: optional\n- **License**: MIT\n\n## Dependencies\n\n- Python 3.13+\n- libc6 (\u003e= 2.34)\n- libgcc-s1 (\u003e= 4.2)\n\n## Automated CI/CD\n\nThis package includes a Jenkins pipeline (`debian/Jenkinsfile`) that:\n\n1. **Automatically detects** the latest version from PyPI\n2. **Downloads** the current wheel from PyPI  \n3. **Updates** `debian/changelog` with the new version\n4. **Updates** `setup.py` with the current version\n5. **Builds** packages for multiple distributions:\n   - Debian Trixie\n   - Debian Forky\n   - Ubuntu Jammy\n   - Ubuntu Noble\n6. **Tests** package installation\n7. **Archives** the built packages\n\n## Manual Building\n\nTo build the Debian package manually:\n\n```bash\n# Install build dependencies\nsudo apt update\nsudo apt install -y debhelper dh-python python3-all python3-setuptools python3-pip python3-wheel\n\n# Build the package (sources will be downloaded automatically)\ndpkg-buildpackage -us -uc -b\n```\n\nThis will:\n1. Download the latest tapo wheel from PyPI\n2. Extract the wheel contents\n3. Create the Debian packages:\n   - `python3-tapo_X.Y.Z-1_amd64.deb` - Main package\n   - `python3-tapo-dbgsym_X.Y.Z-1_amd64.deb` - Debug symbols\n\n## Installation\n\n### From Vitex Software Repository (Recommended)\n\nThe easiest way to install this package is from the Vitex Software APT repository:\n\n```bash\n# Import the GPG key\nsudo curl -fsSL http://repo.vitexsoftware.com/KEY.gpg \\\n  -o /usr/share/keyrings/multiflexi-archive-keyring.gpg\n\n# Add the repository (replace [distro] with your distribution codename)\n# For example: bookworm, trixie, jammy, noble\necho \"deb [signed-by=/usr/share/keyrings/multiflexi-archive-keyring.gpg] http://repo.vitexsoftware.com/ $(lsb_release -sc) main\" | sudo tee /etc/apt/sources.list.d/vitexsoftware.list\n\n# Update package lists and install\nsudo apt update\nsudo apt install python3-tapo\n```\n\n**Alternative using modern DEB822 format:**\n\nCreate `/etc/apt/sources.list.d/vitexsoftware.sources` with:\n\n```\nTypes: deb\nURIs: http://repo.vitexsoftware.com/\nSuites: [distro]\nComponents: main\nSigned-By: /usr/share/keyrings/multiflexi-archive-keyring.gpg\n```\n\n*Replace `[distro]` with your distribution codename (e.g., `bookworm`, `trixie`, `jammy`, `noble`)*\n\nThis method provides:\n- **Automatic updates** when new versions are released\n- **Dependency resolution** handled by APT\n- **GPG signature verification** for security\n- **Multi-architecture support** (amd64, arm64, armhf, i386, etc.)\n\n### From Downloaded Package\n\nAlternatively, install a manually downloaded package:\n\n```bash\nsudo dpkg -i python3-tapo_0.8.4-1_amd64.deb\n```\n\n## Usage\n\nAfter installation, you can use the library in Python:\n\n```python\nimport tapo\n\n# Create API client\nclient = tapo.ApiClient(\"username\", \"password\")\n\n# Connect to a device (example with P110 smart plug)\ndevice = await client.p110(\"192.168.1.100\")\n\n# Control the device\nawait device.on()\nawait device.off()\n\n# Get device information\ninfo = await device.get_device_info()\nprint(info)\n```\n\n## Files Structure\n\n- `debian/` - Debian packaging files\n  - `control` - Package metadata and dependencies\n  - `copyright` - License information\n  - `changelog` - Version history (auto-updated by Jenkins)\n  - `rules` - Build rules with dynamic source download\n  - `source/format` - Source format specification\n  - `Jenkinsfile` - Automated CI/CD pipeline\n- `setup.py` - Python setup script (version auto-updated)\n- Source files are downloaded automatically during build\n\n## Upstream Information\n\n- **Homepage**: https://github.com/mihai-dinculescu/tapo\n- **PyPI**: https://pypi.org/project/tapo/\n- **Author**: Mihai Dinculescu \u003cmihai.dinculescu@outlook.com\u003e\n\n## Packaging Maintainer\n\n- **Maintainer**: Vitex Software \u003cinfo@vitexsoftware.com\u003e\n- **Repository**: https://github.com/Spoje-NET/python3-tapo\n\n## License\n\nThis packaging is released under the MIT License, same as the upstream project.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoje-net%2Fpython3-tapo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspoje-net%2Fpython3-tapo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoje-net%2Fpython3-tapo/lists"}