Skip to content

Comments

feat: Add Arabic support, Docker Compose, and retry mechanisms#579

Closed
razour08 wants to merge 1 commit intogijzelaerr:masterfrom
razour08:master
Closed

feat: Add Arabic support, Docker Compose, and retry mechanisms#579
razour08 wants to merge 1 commit intogijzelaerr:masterfrom
razour08:master

Conversation

@razour08
Copy link

📋 Summary

This PR introduces Arabic language support, Docker Compose infrastructure, and new utility modules (retry & managed connection) to enhance the python-snap7 developer experience.

🆕 New Features

🌍 Arabic Language Support

  • README_AR.rst — Full Arabic README for Arabic-speaking contributors
  • doc/ar/ — Arabic Sphinx documentation: development.rst, docker.rst, examples.rst, troubleshooting.rst
  • All new files include bilingual comments (English + Arabic)

🐳 Docker & Containerization

  • docker-compose.yml — Two services:
    • snap7-server: S7 server emulator on port 102 with healthcheck
    • snap7-dev: Development environment with live source code mounting
  • Dockerfile — Optimized layers, EXPOSE, CMD, bilingual comments
  • .dockerignore — Comprehensive exclusions to reduce image size

🔧 Utility Modules

  • snap7/util/retry.py@retry decorator with configurable exponential backoff + RetryConfig class for reusable retry configurations
  • snap7/util/connection.pyManagedClient with auto-reconnect, connection health monitoring, timeout configuration, and context manager support

📖 Documentation

  • CONTRIBUTING.md — Bilingual contribution guide (English + Arabic) covering bug reporting, PRs, code style, and testing
  • doc/faq.rst — Frequently asked questions
  • doc/troubleshooting.rst — Common issues and solutions
  • doc/docker.rst — Docker usage guide
  • requirements.txt — Dependencies with bilingual comments

🔄 Improvements

  • Improved pyproject.toml configuration
  • Added pytest-cov support for coverage reports
  • Updated CHANGES.md with all new additions under version 2.1

📊 Stats

  • 31 files changed | +2,180 additions | -181 deletions

@gijzelaerr
Copy link
Owner

and so the AI PR thing starts here also.

sorry these are just too many unrelated changes. it changes formatting and file permissions also. please issue seperate PR's per problem you try to solve.

@gijzelaerr gijzelaerr closed this Feb 19, 2026
@gijzelaerr
Copy link
Owner

also, i want to merge the pure python implementation first #569

if you can, please test if that code works for you and report back on the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants