Skip to content
A fast and memory-optimized string library for heavy-text manipulation in Python
Python Jupyter Notebook
Branch: master
Clone or download

Latest commit

Latest commit c17d236 Mar 27, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
misc Initial release Mar 20, 2020
superstring Fix computing length of lower and upper string, leads to infinite rec… Mar 27, 2020
.gitignore Initial commit Mar 19, 2020
LICENSE Update LICENCE Mar 20, 2020 Fix README name Mar 20, 2020 Initial release Mar 20, 2020
setup.cfg Initial release Mar 20, 2020 Release v0.3 Mar 27, 2020 is an efficient library for heavy-text manipulation in Python, that achieves a remarkable memory and CPU optimization. uses Rope (data structure) and optimization techniques.

Performance example

alt text

The two plots show the comparison in terms of memory consumption and execution time between and python build-in string (the comparison program consists of appending to a list all possible substrings of a 50000 bytes text).


  • Fast and Memory-optimized.
  • Rich API.
  • Similar functionalities to python built-in string
  • Easy to embed and use.
  • MIT Licence


pip install superstring

How to use

from superstring import SuperString

string1 = SuperString("  This is ")
string2 = SuperString("SuperString!  ")

# concatenation
string = string1 + string2 # "  This is SuperString!  "

# print

# length

# character
string[10] # "S"
string.characterAt(10) # "S"

# substring
string[10:21] # "SuperString"
string.substring(10, 21) # "SuperString"

# strip
string.strip() # "This is SuperString!"

# lower
string.lower() # "  this is superstring!  "

# upper
string.upper() # "  THIS IS SUPERSTRING!  "


  • Optimize even more (I think it's possible 😎)
  • Support for negative indexing
  • More benchmark and memory profiling

Contribute and support

You have any feature idea, a bug to correct or an improvement, feel free to open a issue or send your pull request. You can also support the author of via Paypal.



You can’t perform that action at this time.