Skip to main content

pymastring

pymastring is a highly unorthodox utility package that globally overrides the runtime behavior of Python's built-in primitive str class via deep C-level monkey-patching. It breaks standard structural limitations to allow direct mathematical calculations, matrix equations, bitwise interactions, and custom serialization paradigms natively on raw string literals.


Technical Concept

Python's built-in str instances are hardcoded at the C-API level to prevent arbitrary mutation. pymastring bypasses this defense mechanism by using forbiddenfruit to overwrite core slots within the PyTypeObject of the native string type.

Every mathematical operation maps the characters of the string to their respective Unicode Code Points (via ord()), runs numerical adjustments, applies an auto-overflow modulo bounds-check (% 1114112), and returns the resulting value shifted back into strings (via chr()).


Installation

Install the package locally in editable development mode or via local source directory distribution:

pip install .

Core Features & Extended API Specification

1. Advanced Arithmetic Operators (**, /, -, %)

Standard string literals can be manipulated mathematically with integers and floating-point elements.

  • Exponentiation (**): Exponentiates the individual internal weight of every distinct character.
  • Division (/): Divides character codes uniformly.
  • Subtraction (-): Subtraction by an integer/float dynamically reduces unicode codes. Subtraction by another string removes all structural occurrences of those bytes.
  • Modulo (%): Determines remainder against character weights. Falls back to default string formatting if %s, %d, or %f structural placeholders are present.
import pymastring

print("abc" ** 2)      # Exponentiates character codes
print("xyz" / 2)       # Uniform code points scaling
print("python" - 5)    # Left-shifts unicode positions
print("abcdef" - "bd") # Drops exact target slices -> Outputs: "acef"
print("hello" % 3)     # Inline remainder extraction

2. Matrix Cross-Multiplication Vector Behavior (@)

Using the @ operator evaluates the structural linear algebra dot product between two string arrays. It multiplies the scalar weight vectors of matching index elements and accumulates the mathematical sum. Short strings automatically pad using standard null bytes (\x00).

# Calculates: (ord('a') * ord('b')) -> 97 * 98
result = "a" @ "b"
print(result) # Outputs integer: 9506

3. Dynamic Structural Weight Evaluation (len())

The global len() invocation evaluates context dynamically to guarantee maximum environment stability and prevent side-effect exceptions in external packages (such as json or requests). Standard raw string literals retain traditional array offset tracking element counts. However, mutated entities or iterated MathChar objects explicitly compute and report the absolute integrated sum of their respective unicode sequence code point weights.

import pymastring

# A primitive baseline string keeps its classic character length
print(len("abc"))  # Outputs integer: 3

# Intercept loops pull typified MathChar wrappers yielding true inner weight
for char in "a":
    print(len(char))  # Outputs Unicode weight: 97

4. Bitwise Vector Conversions (<<, >>, &, |, ^)

Direct byte-level array transformations across registers using standard binary operational parameters.

print("abc" << 2)      # Left shift bit positions
print("secret" ^ 42)   # XOR encryption mask mapping
print("hello" & "world") # Matrix intersection overlay

5. Total-Weight Context Comparisons (>, <, >=, <=)

Rich comparative sorting algorithms base logic on total calculated inner array vector weight sums, replacing default sequential alphabetic ASCII sorting structures.

print("short" > "longer") # Strictly evaluates length/weight conditions

6. Typified Generator Array Extraction & Iteration

Loops parsing raw string sequences yield special operational wrappers (MathChar) inheriting full operational capabilities rather than flat string parts.

for char in "xyz":
    # Loops pull fully functioning MathChar objects allowing immediate manipulation
    print(char ** 1.5)

7. Custom JSON Serialization Engine (MathJSONEncoder)

To prevent internal character objects from breaking standard data transfers, use our targeted serialization mapping profile.

import json

data = {"payload": "abc" ** 2}
json_string = json.dumps(data, cls=pymastring.MathJSONEncoder)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymastring-1.0.3.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymastring-1.0.3-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file pymastring-1.0.3.tar.gz.

File metadata

  • Download URL: pymastring-1.0.3.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for pymastring-1.0.3.tar.gz
Algorithm Hash digest
SHA256 677ac1701a1adfc28a8c74c1408280617ac817d266835c0047e0cc5b473136ae
MD5 b62bfa48abc8a554c3834ed6a8c0c78d
BLAKE2b-256 5b8395cadbd23735d70e2283ec10d5a0ad8a8980b42ae65a44e87b90e79b020e

See more details on using hashes here.

File details

Details for the file pymastring-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: pymastring-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for pymastring-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5c4086939a4989c772843949571119886af14da3916ed3e47813982135b0920d
MD5 2a7747b7110923fd7a52193c44d23081
BLAKE2b-256 60cbb195577a2c0ae36a81d4d35c15d25c229450fade38f0166299d9565cb8ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page