Metadata-Version: 2.4
Name: wirez-py
Version: 1.0.4
Summary: Remember and retrieve file paths by name — from any program, anywhere.
Author: 
License: MIT
Project-URL: Homepage, https://github.com/kulbir/wires
Keywords: files,path,registry,bookmark,wires
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Dynamic: requires-python

# wirez-py

```
         _____                    _____                    _____                    _____                    _____
        /\    \                  /\    \                  /\    \                  /\    \                  /\    \
       /::\____\                /::\    \                /::\    \                /::\    \                /::\    \
      /:::/    /                \:::\    \              /::::\    \              /::::\    \              /::::\    \
     /:::/   _/___               \:::\    \            /::::::\    \            /::::::\    \            /::::::\    \
    /:::/   /\    \               \:::\    \          /:::/\:::\    \          /:::/\:::\    \          /:::/\:::\    \
   /:::/   /::\____\               \:::\    \        /:::/__\:::\    \        /:::/__\:::\    \        /:::/__\:::\    \
  /:::/   /:::/    /               /::::\    \      /::::\   \:::\    \      /::::\   \:::\    \       \:::\   \:::\    \
 /:::/   /:::/   _/___    ____    /::::::\    \    /::::::\   \:::\    \    /::::::\   \:::\    \    ___\:::\   \:::\    \
/:::/___/:::/   /\    \  /\   \  /:::/\:::\    \  /:::/\:::\   \:::\____\  /:::/\:::\   \:::\    \  /\   \:::\   \:::\    \
|:::|   /:::/   /::\____\/::\   \/:::/  \:::\____\/:::/  \:::\   \:::|    |/:::/__\:::\   \:::\____\/::\   \:::\   \:::\____\
|:::|__/:::/   /:::/    /\:::\  /:::/    \::/    /\::/   |::::\  /:::|____|\:::\   \:::\   \::/    /\:::\   \:::\   \::/    /
 \:::\/:::/   /:::/    /  \:::\/:::/    / \/____/  \/____|:::::\/:::/    /  \:::\   \:::\   \/____/  \:::\   \:::\   \/____/
  \::::::/   /:::/    /    \::::::/    /                 |:::::::::/    /    \:::\   \:::\    \       \:::\   \:::\    \
   \::::/___/:::/    /      \::::/____/                  |::|\::::/    /      \:::\   \:::\____\       \:::\   \:::\____\
    \:::\__/:::/    /        \:::\    \                  |::| \::/____/        \:::\   \::/    /        \:::\  /:::/    /
     \::::::::/    /          \:::\    \                 |::|  ~|               \:::\   \/____/          \:::\/:::/    /
      \::::::/    /            \:::\    \                |::|   |                \:::\    \               \::::::/    /
       \::::/    /              \:::\____\               \::|   |                 \:::\____\               \::::/    /
        \::/____/                \::/    /                \:|   |                  \::/    /                \::/    /
         ~~                       \/____/                  \|___|                   \/____/                  \/____/
```

**Remember and retrieve file paths by name — from any program, anywhere.**

```
pip install wirez-py
```

---

## Usage

```python
import wires

# Save / remember a file
wires.save("my_config", "/path/to/config.json")
wires.remember("my_config", "/path/to/config.json")  # same thing

# Retrieve it later — from any program
wires.get("my_config")       # → str path
wires.recall("my_config")    # same thing
wires.path("my_config")      # → pathlib.Path

# See all saved files
wires.list_all()

# Dump all registered files into a folder
wires.dump()                  # → copies everything to ./wirez_dump/
wires.dump("my_backup")       # → copies to ./my_backup/

# Verify all wires (check for missing/moved files)
wires.verify()

# Fix a wire after a file moves
wires.update_path("my_config", "/new/location/config.json")

# Remove a wire
wires.remove("my_config")

# Self-update
wires.update()
```

## Debug & Logging

```python
wires.enable_debug(True)           # verbose output to stderr
wires.enable_warnings(False)       # silence warnings
wires.set_log_file("wires.log")    # custom log file (default: ~/.wires/wires.log)
wires.set_log_file(None)           # disable file logging
```

## How it works

Wires stores all registrations in `~/.wires/registry.json`. Every program on the machine shares this registry, so a path saved in one script is instantly accessible in another.

> **Note:** Wires stores paths, not files. If you move or delete a file, use `wires.verify()` to find broken wires and `wires.update_path()` to fix them. Use `wires.dump()` to make a physical backup copy of all your files.

## License

MIT
