Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PyRopey

CI Build Status Latest Release Python version Documentation

Python bindings for Rust's Ropey library.

From Ropey's repository: Ropey is a utf8 text rope for Rust, designed to be the backing text-buffer for applications such as text editors. Ropey is fast, robust, and can handle huge texts and memory-incoherent edits with ease.

PyRopey aims to provide the performance and accessible interface of Rope into Python's world.

Installing

PyRopey is available in any platform and can be installed with pip:

pip install ropey

Note: PyRopey is currently in pre-release status and major changes are to be expected.

Example Usage

Adapted from Ropey's example.

from ropey import Rope

# Load a text file.
let text = Rope.from_file("my_great_book.txt")

# Print the 516th line (zero-indexed).
print(text.line(515))  # Not implemented yet

# Get the start/end char indices of the line.
let start_idx = text.line_to_char(515)  # Not implemented yet
let end_idx = text.line_to_char(516)

# Remove the line...
text.remove(slice(start_idx, end_idx))

# ...and replace it with something better.
text.insert(start_idx, "The flowers are... so... dunno.\n")

# Print the changes, along with the previous few lines for context.
let start_idx = text.line_to_char(511)
let end_idx = text.line_to_char(516)
print(text.slice(slice(start_idx, end_idx)))  # Not implemented yet

# Write the file back out to disk.
text.write_to_file("my_great_book.txt")

PyRopey's philosophy is to provide an API that is as close as possible to the original methods in Ropey. This is why we recommend using their documentation for more details.

Contributing

Contributions are more than welcome! Here are a few objectives:

  • Implement (almost) every methods from ropey::Rope
  • Write Python tests for every method
  • Write stubs for every method
  • Document every method
  • Create docs, hosted on ReadTheDocs
  • Build automated benchmarks to compared ropey with builtin alternatives

Metadata

Release files for ropey 0.0.3_alpha

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

Source distribution (sdist)

Source distribution for ropey 0.0.3_alpha
File Size Uploaded
ropey-0.0.3_alpha.tar.gz 10.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ropey 0.0.3_alpha
File
ropey-0.0.3_alpha-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.5+ x86-64 Details
ropey-0.0.3_alpha-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
ropey-0.0.3_alpha-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-64 Details
ropey-0.0.3_alpha-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64 Details
ropey-0.0.3_alpha-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
ropey-0.0.3_alpha-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64 Details
ropey-0.0.3_alpha-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64 Details
ropey-0.0.3_alpha-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
ropey-0.0.3_alpha-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64 Details
ropey-0.0.3_alpha-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.8 CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64 Details
ropey-0.0.3_alpha-cp37-none-win_amd64.whl CPython 3.7 none Windows x86-64 Details
ropey-0.0.3_alpha-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
ropey-0.0.3_alpha-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64 Details
ropey-0.0.3_alpha-cp36-none-win_amd64.whl CPython 3.6 none Windows x86-64 Details
ropey-0.0.3_alpha-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details

Total release size: 9.6 MB

Release files / ropey-0.0.3_alpha.tar.gz

Download URL ropey-0.0.3_alpha.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e186ff3094260c730cca8b151aca27bd507bc7c7a83a5c7d063f833bb6c52125
BLAKE2b-256 checksum
How to use checksums
6b0d602f4e1f7499d010ca216f1f877977ec0d70540d69aa0a0f23b5977993b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Download URL ropey-0.0.3_alpha-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Size 1.0 MB
Tags Linux glibc 2.5+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
86174bdb84f7e4e6fcfba556067dc20f4146f7853d3dfb9a7ab29eb4bdce1487
BLAKE2b-256 checksum
How to use checksums
23433db45ebaeba0cdc789aa2a529e51f4813b0aae1b41b6c322d18edbb9303a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp310-none-win_amd64.whl

Download URL ropey-0.0.3_alpha-cp310-none-win_amd64.whl
Size 198.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
77b44e241aca58c5b052cec470845024fdaab44e67b48b22aac8330afb297de4
BLAKE2b-256 checksum
How to use checksums
73bd6776fc8965decb5a79983c218bd94e3add1fa0f2cff759a4909fb0db719e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Download URL ropey-0.0.3_alpha-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Size 1.0 MB
Tags CPython 3.10 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
7e602c8b7541fd89844f63ad534f44cd0d6363b2b168587162dec0ae854ff6f5
BLAKE2b-256 checksum
How to use checksums
cea93d03fbf9d67cc6e65fcf8a1aa466682166fb52efebb1ae20873b4c6bd200
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL ropey-0.0.3_alpha-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 589.8 kB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0868d01ef398e436532a779eada472cf3999b3d3cac7e4e0942a285520a0f79a
BLAKE2b-256 checksum
How to use checksums
4a3363090cf79125702f64a1b5fccd3a0e9c8f22b34aee42ab6ca3dd0c1c8dc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp39-none-win_amd64.whl

Download URL ropey-0.0.3_alpha-cp39-none-win_amd64.whl
Size 198.1 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
04f6e90f3699ec5612138005bfebdb2756113f96ac300eba84b295d569b7a21d
BLAKE2b-256 checksum
How to use checksums
942c243b6b3f96a59c8c6697a4a41d9f8f8b4581c1085326e1269f4e0d534664
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Download URL ropey-0.0.3_alpha-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Size 1.0 MB
Tags CPython 3.9 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
6528093a65f87c669855f9a5f01d6516182d1fb5a635bd226322dcbdea057f26
BLAKE2b-256 checksum
How to use checksums
fe8e7de8d8d2bfcc27a497a4aa3fd094ae265703200b74dfc5dbda902d0bf4c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL ropey-0.0.3_alpha-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 590.4 kB
Tags CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bac6e2d1761bde4ef5a08bb3f89757155b70dc2731effcce3a105d151250c3f7
BLAKE2b-256 checksum
How to use checksums
e31cb3423a8727444a71b9a96c23e5080ac0739a01fd77844d6f4900060798d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp38-none-win_amd64.whl

Download URL ropey-0.0.3_alpha-cp38-none-win_amd64.whl
Size 198.0 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
3298062bda3e7cd67231cee70e077017c82cc77917c55cef3361be0cad002ce0
BLAKE2b-256 checksum
How to use checksums
7be4d02b80653949d92cb785055c16919e9f1d54774123f2300913f710c1a388
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Download URL ropey-0.0.3_alpha-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Size 1.0 MB
Tags CPython 3.8 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c974a83b04f6c90cd8c22908e02dc52bb1c049a78f8a93ffef4e8959289d3b41
BLAKE2b-256 checksum
How to use checksums
e17aa7e651032418d0477ecd213d4b01235e95deebd4e2f691ead493ad33affd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL ropey-0.0.3_alpha-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 590.2 kB
Tags CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d6ddea91a5c1392b4ca7b9e89d4d7360b21c43d80949e57e8c5b139f6249f851
BLAKE2b-256 checksum
How to use checksums
36e3c9bcd50f9467b82324cbc31b343c3481ae3a17be47da03a12ea05fda2349
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp37-none-win_amd64.whl

Download URL ropey-0.0.3_alpha-cp37-none-win_amd64.whl
Size 198.0 kB
Tags CPython 3.7 Windows x86-64
SHA-256 checksum
How to use checksums
6a29b0d388da259a881be13b2a728573f442221f6ed54f6ea2e7c43eb2dc2e9d
BLAKE2b-256 checksum
How to use checksums
88f9dd4f33378f658d3f913f4047bb9350c9294da17f1f9fa818282246834bd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Download URL ropey-0.0.3_alpha-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Size 1.0 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
3555febe44fe25c172bd1cdb9f9eb6492717b086fc2385f6c44b923023d9e3a5
BLAKE2b-256 checksum
How to use checksums
fcdb4ed2a19acd44f98ffc610a0dc1bc4de83f58485249295a8b69c9bd69345b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl

Download URL ropey-0.0.3_alpha-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Size 590.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
091e80387c926db6c8f127ca10ae94547b01e4a050fe81ce2ca2c193ce4f541f
BLAKE2b-256 checksum
How to use checksums
d38cc7576ac9f512af8f75f620b2440cf58c90821d23e02c2996731be30a3ebb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp36-none-win_amd64.whl

Download URL ropey-0.0.3_alpha-cp36-none-win_amd64.whl
Size 197.6 kB
Tags CPython 3.6 Windows x86-64
SHA-256 checksum
How to use checksums
ad0157aaaac938c92ef9b603611f969e7ebfbb3f5a3c11aa4c85582406f71f1f
BLAKE2b-256 checksum
How to use checksums
71b4376ab60cf16b9bb8ac2e7ff72e0f36c77e01e53f97e24155461d023502ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / ropey-0.0.3_alpha-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Download URL ropey-0.0.3_alpha-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Size 1.0 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
fd5ace002ceccbf35ae0e34a1923cc172321e435dafc21da51d4cba188607557
BLAKE2b-256 checksum
How to use checksums
a75de8ededa0a972a22175ff035f5aad6f575da64b63a694d5f562d032436942
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9
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