#python #object #list #cpython #data #performance #simplicity

python-objects

rust crate that implements the architecture of the CPython objects. with this crate you can crate a list with any data type from rust

3 releases

0.0.7 Mar 10, 2022
0.0.6 Mar 7, 2022
0.0.3 Feb 25, 2022

#1621 in Data structures

MIT license

225KB
1K SLoC

logo

book_deploy crates_io_publish Crates.io

Rust Python Objects

use python like objects in rust, such as list, for now.

have the simplicity and performance together.

be happy.

Table of Contents

Showcases

first you need to see the showcases to convince you to install it.

  1. python-list
  2. python-dict -> incoming

Install

1. the modern and simple way

just run this command

cargo add python-objects

and this will add the latest version from crates.io to your Cargo.toml, just like the old way, but automatically.

  • what is cargo add ? -> its a cargo sub command
  • how to install it ? -> cargo install cargo-edit
  • what is cargo-edit ? -> its a rust package that adds useful sub commands for cargo that are not built-in

2. the old way

just copy the crate name and the version you want to use:

python-objects = "$the_version_you_want"
# example
python-objects = "0.0.6"

to your Cargo.toml and then write some code and build your project that uses python-objects.

Documentation

why ?

why not. because python concepts are very cool, but python is slow..

so what if we could use python objects in rust and have the same experience as in python (almost) ?

and things are getting much better. rust has zero-cost abstractions, meaning that every struct and trait will be deleted at compile time and they will be gone at runtime.

so we are getting python objects in rust with performance and simplity.

TODO

check TODO.md

Contributing

check CONTRIBUTING.md

Changelog

check CHANGELOG.md

Crates that use Python-Objects

incoming, would be nice.

NOTE

note for the user and developer

if you find issues go ahead and make an issue or a pull request, cant wait to take a look into them.

right now this project is very minimal, it will grow, the idea just came to my mind some days ago (on 21.02.2022) and the first implementation was done at 4 AM (23.02.2022) with some adrenaline.

so for now dont expect too much of this crate

peace to you!

Dependencies

~3–12MB
~119K SLoC