Metadata-Version: 2.4
Name: serial-port-change
Version: 1.0.4
Summary: Monitor the serial ports in Windows and detect and display changes
Project-URL: Homepage, https://github.com/dbwalker0min/serial-port-change
Project-URL: Documentation, https://github.com/dbwalker0min/serial-port-change/README.md
Project-URL: Repository, https://github.com/dbwalker0min/serial-port-change
Author-email: David Walker <dbwalker0min@gmail.com>
License: MIT License
        
        Copyright (c) 2025 David Walker
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: pyserial>=3.5
Description-Content-Type: text/markdown

# Serial Port Change

## Introduction

We've all been there; you have a bunch of USB-serial adapters and you have to figure out which serial port it is. Traditionally, I've done this by opening Device Manager, try to remember all the ports connected, unplug the device, and look for changes. There has to be a better way, so `Serial Port Change` to the rescue!

## What it Does

This utility is simplicity itself. It is a command line tool that extracts a set of serial ports, then periodically looks for changes. If a port is added, it will return:

```
New serial port detected: COM12
```

If a port is removed, it will return:

```
Serial port removed: COM12
```

This process will end when the user types CTRL-C.

## How to Run

There are a few ways to run the project. You can install it with Pip:

```sh
$ pip install serial-port-change
```

Then run it with the script (assuming the Python scripts path is in your global path)

```sh
$ serial_port_change
```

If you have [Astral `uv`](https://docs.astral.sh/uv/) installed, you can also run it (without directly installing it) using `uvx` like:

```sh
uvx serial_port_change
```

## Modifying

The project is built using the `uv` package manager, although it could be easily recasted to Poetry or some other package manager. There are also files to set up the project using PyCharm, although this isn't  required.

It is also setup to use [`bump2version`](https://github.com/c4urself/bump2version) to control the version number. For instance, if the current revision is 1.2.3, you can execute

```sh
$ uvx bump2version minor
```

To upgrade to version 1.3.0. You can also vary the `major` and `patch` revision levels. Refer to the `bump2version` documentation for more information.

## Questions

If anyone has any questions, contact me at dbwalker0min@gmail.com.
