Function Signature Tools
Project description
pysigil
Preference management for small apps.
Quick start
Install pysigil in a virtual environment to make the sigil and pysigil commands available:
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\Activate
pip install -e . # or `pip install .` for a normal install
sigil --help
# or
pysigil --help
# or
python -m pysigil --help
from pysigil import (
get_project_directory,
get_user_directory,
helpers_for,
)
get_setting, set_setting = helpers_for("pysigil")
project_root = get_project_directory("pysigil")
user_data = get_user_directory("pysigil")
get_setting("ui.color")
set_setting("ui.color", "blue")
# e.g. load a template shipped with the package
(project_root / "templates" / "dialog.ui").read_text()
Once installed, try a few commands:
sigil set ui.color blue --app demo
sigil get ui.color --app demo
sigil export --app demo
The CLI stores data under your user config directory (e.g. ~/.config/sigil/demo/settings.ini),
so you can run these commands right from the source tree without creating a
separate project. See tests/manual_tests/README.md for more examples.
Typed helper methods are available for convenient access:
Sigil.get_int(), get_float(), get_bool().
For package integration details see docs/integration.md.
Policy API
The merge order and write permissions are managed by a configurable
ScopePolicy. The default policy prefers project settings over user ones.
To inspect or extend the policy:
from pysigil.policy import Scope, ScopePolicy, policy
# clone and add a git-tracked scope
scopes = [*policy._scopes, Scope("git", writable=True)]
git_policy = ScopePolicy(scopes)
# precedence can be switched at runtime
policy.set_store("user", {("pysigil", "policy"): "user_over_project"})
Using the GUI
pysigil ships with a simple graphical editor for viewing and editing preferences. After installation launch it with:
sigil gui
Any providers with existing configuration directories (e.g.
~/.config/sigil/user-custom) are automatically listed in the package
selector.
To initialise or inspect the user configuration directory from a small helper interface, run:
sigil config gui
Click Initialize User Custom to create a per-host user-custom section.
A confirmation dialog appears and the folder opens (e.g.
~/.config/sigil/user-custom) so you can edit the newly created file.
Package authors can register development defaults via:
sigil register # alias: `sigil setup`
Launch authoring tools without the editor:
sigil author
Or launch it programmatically:
from pysigil.ui.tk import launch
launch()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file signia-0.0.1.tar.gz.
File metadata
- Download URL: signia-0.0.1.tar.gz
- Upload date:
- Size: 2.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb2f9536e34e27ae15eac2cc0e76d44dcc5ed3acbb293c448bc1e7808a23d1e6
|
|
| MD5 |
9026764877e61aba677a3150927ebd2b
|
|
| BLAKE2b-256 |
e735e38e0fa189d4d436ea773612c313958169e28bf085fa09596b2714e863d6
|
File details
Details for the file signia-0.0.1-py3-none-any.whl.
File metadata
- Download URL: signia-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eedeae33f8f685b4abaf6c9d5d97cf3713ace777395a9383fb81d626d72be0ab
|
|
| MD5 |
da1fb5401bd5619f37d2ad73a9bc0cbe
|
|
| BLAKE2b-256 |
7b18445805fe938ed8fe839fba0bfa62cb0e1f671a80e7efd2dfb862f27855e0
|