skillfed

pylogix

Read/Write Rockwell Automation Logix based PLC's

pylogix v1.1.5 236.1K downloads/30d#8,990 on PyPI722
Permissive license Apache License 2.0 Active released

What it is and what it does

Pylogix is a communication driver for reading and writing tag values on Rockwell Automation PLCs (ControlLogix, CompactLogix, Micro8xx) over Ethernet I/P. It abstracts the low-level protocol details, letting you connect to a PLC by IP address and issue read/write commands using simple Python method calls. The library returns a Response object containing the tag name, value, and status for each operation.

The package has no external dependencies and installs as a pure-Python wheel, making it quick to set up in any Python environment. It is designed specifically for PLCs programmed with RSLogix5000/Studio5000 or Connected Components Workbench; older Rockwell models (PLC5, SLC, MicroLogix) and non-Rockwell brands are not supported. The maintainer provides examples and documentation for common tasks and maintains an active Discord community for support.

Use it for:

  • Read sensor values and discrete states from a ControlLogix PLC in a Python monitoring or data-logging application.
  • Write setpoints or control commands to a CompactLogix PLC from a Python script or web service.
  • Automate testing of PLC logic by scripting tag reads and writes in a test harness.
  • Build a custom HMI or dashboard that communicates with a Micro8xx PLC over Ethernet I/P.
  • Integrate PLC data into a Python-based industrial analytics or historian system.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pylogix reads and writes tag values from Rockwell Automation ControlLogix, CompactLogix, and Micro8xx PLCs over Ethernet I/P using Python, with no external dependencies.

Yes. Pylogix is the standard open-source choice for Rockwell PLC communication in Python. It has no dependencies, is actively maintained, carries a permissive license, and solves a specific and well-defined problem. Install it if you need to read or write tags on a supported Rockwell PLC model; do not install if your PLC is an older Rockwell model or a different brand.

Install

pylogix on PyPI

pip

pip install pylogix

uv

uv add pylogix

poetry

poetry add pylogix

Installing pylogix

Before you install

Low friction: the package is a pure-Python wheel with no runtime dependencies, installs quickly, and is actively maintained with a recent release.

License in practice

Apache 2.0 permissive license allows free use, modification, and distribution in commercial and open-source projects with minimal restrictions.

Quickstart

pip install pylogix

from pylogix import PLC
with PLC() as comm:
    comm.IPAddress = '192.168.1.9'
    ret = comm.Read('MyTagName')
    print(ret.TagName, ret.Value, ret.Status)

Target PLC must be a ControlLogix, CompactLogix, or Micro8xx model programmed with RSLogix5000/Studio5000 or Connected Components Workbench; other PLC brands and older protocols (PLC5, SLC, MicroLogix) are not supported.

Verify before relying

  • Whether the package works reliably with RSEmulate and what additional configuration may be needed beyond the documented steps.
  • Performance characteristics when reading/writing large numbers of tags or high-frequency polling scenarios.
  • Compatibility with Python versions beyond 2.7 and 3.6 (the fact sheet lists only these classifiers).

Package facts

License Apache License 2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 172 days since the last release
Last repo commit
First released
Downloads 236,105/month — #8,990 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pylogix-1.1.5-py2.py3-none-any.whl

License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.6

Tags

rockwell plc communication pythoncontrollogix ethernet ip driverread write plc tags pythoncompactlogix python interfaceindustrial automation plc controllogix plc ethernet protocolplc tag read write library
industrial-automationplc-communicationethernet-ip

More Networking packages