Skip to main content
            ███████╗████████╗ █████╗ ████████╗██╗ ██████╗██╗     ██╗██████╗ 
            ██╔════╝╚══██╔══╝██╔══██╗╚══██╔══╝██║██╔════╝██║     ██║██╔══██╗
            ███████╗   ██║   ███████║   ██║   ██║██║     ██║     ██║██████╔╝
            ╚════██║   ██║   ██╔══██║   ██║   ██║██║     ██║     ██║██╔══██╗
            ███████║   ██║   ██║  ██║   ██║   ██║╚██████╗███████╗██║██████╔╝
            ╚══════╝   ╚═╝   ╚═╝  ╚═╝   ╚═╝   ╚═╝ ╚═════╝╚══════╝╚═╝╚═════╝ 

StaticLib is a module that provides a single class for defining a static object.

There're two option for a StaticObject instance:

freeze_value=True: the value declared within the StaticObject instance is immutable.

freeze_value=False: the value declared within the StaticObject instance is mutable.

For values to become mutable, the freeze_value option have to be set to True during object instanciation.

The value can them be modified by invoking the 'modify' method.

A type that is declared during object instanciation is always immutable, meaning it can never be changed.

Examples:

from StaticLib import StaticObject

# Unmodifiable
user: StaticObject = StaticObject(str, "Admin", freeze_value=True)

if hasattr(user, "error"):
    raise user.error
else:
    print(user.value)

# Trying to modify the value results in an error
# if user.modify("Hello") is False:
#    raise user.error    # we'll see this error
# else:
#    print(user.value)

##################################################################

# Modifiable
age: StaticObject = StaticObject(int, 22, freeze_value=False)

if hasattr(age, "error"):
    raise age.error
elif not age.modify(15):
    raise age.error
else:
    print(age.value)


# The instance object can be viewed as a string representation using the 'view' method
print(user.view())
print(age.view())


###################################################################
# When using StaticLib the None type is replaced with a custom type named Null
# which can be imported and used as a type and a value without the hassle of using None
# as it isn't considered a type and doesn't work well with isinstance. The name of the
# Null type is StaticNull where Null is its alias.

Metadata

Release files for staticlib 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for staticlib 0.1
File Size Uploaded Provenance
staticlib-0.1.tar.gz 3.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for staticlib 0.1
File Interpreter ABI Platform
staticlib-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 kB

Release files / staticlib-0.1.tar.gz

Download URL staticlib-0.1.tar.gz
Size 3.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c00ab9f67b71d9a16f6f0571e075816c2345d16058a9f713164d4d4287718147
BLAKE2b-256 checksum
How to use checksums
89e3eb042007e5905c818a4d87964ac1a1e7608fae34940276ae97ffd7555d19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Kali GNU/Linux","version":"2025.4","id":"kali-rolling","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / staticlib-0.1-py3-none-any.whl

Download URL staticlib-0.1-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
082a5ddf42839aa7b421348fad02842d268f344d0dcf77dd1e6129aafa0d178d
BLAKE2b-256 checksum
How to use checksums
134fb75b2621d13a44f95d45b48c742c417553e4e2e2c54cb68f38d183f20a96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Kali GNU/Linux","version":"2025.4","id":"kali-rolling","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for staticlib 0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page