SoloCore
"The Roots of the Grove" — the shared foundation under every SoloGrove program. Not an app you launch, but the reason they all feel the same: real desktop widgets through Qt and PySide (no webviews), one experience on Linux, BSD, macOS, and Windows, multilingual by design with full right-to-left support. Seeded by extracting battle-tested helpers out of SoloSheet.
You rarely install this directly — it arrives as a dependency of the apps.
| Module | What it provides |
|---|---|
bootstrap |
setup_appearance(app) — forces the Fusion style and registers BUNDLED_FONT_FAMILIES, so a document renders identically on macOS/Windows/Linux/BSD: IBM Plex Sans/Serif/Mono for body and UI, IBM Plex Sans Arabic and IBM Plex Sans Hebrew for the RTL scripts in the same voice as the rest, and the scholarly faces Gentium, Ezra SIL and Cardo. All OFL. APP_FONT_FAMILY is IBM Plex Sans; LEGACY_FONT_MAP remaps families we do not bundle — including the Liberation set this used to ship — so older files degrade gracefully rather than falling back per-OS. Also apply_theme(app, mode) for light/dark/system. Fonts ship inside the package. |
icons |
svg_to_icon() — render inline-SVG markup strings as QIcons, with fill, stroke and mask tinting. No icon files to ship. |
paths |
asset_dir() / require_asset_dir() — resolve bundled assets identically from a source checkout, an editable install, a wheel, and a PyInstaller freeze. The lookups degrade silently by design, which is why require_asset_dir exists. |
safety |
@safe_slot — error-containment decorator for Qt slots: logs the exception (logger "SoloCore") and surfaces it in the window's status bar instead of crashing. |
fileformat |
parse_version() + atomic_write_text() — the shared conventions behind SoloGrove's plain, AI-readable JSON formats: version compatibility checks and corruption-proof atomic saves. |
from solocore import setup_appearance, svg_to_icon, safe_slot, atomic_write_text
Licensed LGPLv3 (the apps are GPLv3) so the library can be reused beyond the family.
Metadata
Release files for solocore 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| solocore-0.2.1.tar.gz | 4.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| solocore-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.4 MB
Release files / solocore-0.2.1.tar.gz
| Download URL | solocore-0.2.1.tar.gz |
|---|---|
| Size | 4.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
14cc5cc159cb5177a1a86634045199c85034c99bf0ab1b26a7776fd6def2d256
|
|
BLAKE2b-256 checksum How to use checksums |
2d66a89a5dfcfff11ecd275b4f096c08481584af53c092ebd2f2761c53f6762e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / solocore-0.2.1-py3-none-any.whl
| Download URL | solocore-0.2.1-py3-none-any.whl |
|---|---|
| Size | 4.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c83303d6980ccf99ff647560261a751b479f45f8ca439e5fbc13f0e4bf59429d
|
|
BLAKE2b-256 checksum How to use checksums |
ddb8a7ed7424e6664d8c8d6bf8aab3dde71ea5264241f1ac78a718c265b0aff0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|