Comments (8)
Good luck to you. If you have any questions, just put it here and I will provide help as possible as I can.
from pocketpy.
@blueloveTH Are you looking for contributions to this module? If so, I am eager to work on it.
from pocketpy.
What do you mean packing or unpacking? I'm not familiar with the functionality of struct.
We can invent a custom protocol if emulating cpython is complex or it requires a lot of internal change. And it may be the correct way.
The total LOC of pocketpy is ~8000 I think the pickle
module should use a solution less than 1000 LOC. We need a clever/light way to achieve that.
I recommend to make a comprehensive plan before actually implementing the module. I invite you to join our Discord for fast communication.
from pocketpy.
Perfect. Thank you. I do have a plan in place, I will refine and it share it on discord!
from pocketpy.
Yes, sure. I need help!
I was looking at cpython's pickle module, it seems cpython use a special virtual machine for it. However, it is a bit complex.
from pocketpy.
I can give it a try. I will use the implementations that already exist for the standard library in python
and then try to emulate the CPython pickle
module within the constraints that exist for pocketpy
. First, I will try to come up with an external that is as close as possible to the one in standard library and then we can go from there.
from pocketpy.
I have started working on the initial implementation for the Pickle module. However, I am currently facing one major issue. Pickling and unpickling heavily rely on struct
module for packing and unpacking Python objects. This functionally is implemented in C layer. Currently we don't have any similar functionality to support unpacking and packing of objects directly in the C layer. Should we implement this functionality in the C layer or provide minimal implementations of struct module functions directly in Python?
from pocketpy.
I'd like to develop this module myself.
from pocketpy.
Related Issues (20)
- Any way to force the interpreter to stop? HOT 3
- [BUG] Can't import modules in unity plugin HOT 2
- GSoC'24: Add `numpy` module HOT 1
- [BUG] only export c api HOT 5
- [Feature] OS Module? HOT 5
- Evaluate existing C++ numpy implementations
- [BUG] Incorrect representation of nanj in cmath module HOT 6
- [BUG] Inconsistency of `cmath.log()` with Cpython HOT 1
- Exponents with sign should be recognized as decimal numbers. HOT 6
- [BUG] Support sign in integer casting of strings HOT 2
- GSoC'24: Implement pybind11 for bindings
- [BUG] Lack of `__truediv()__` for cmath module? HOT 1
- [BUG] Have range check for days as followed for time in datetime module HOT 1
- CPython does not admit leading 0 in ints without an o or [xX] HOT 6
- [BUG] RTTI bug in GCC (<12.0)
- Py3.11 match keyword support HOT 1
- [BUG] Allow string constructor to take 0 arguments HOT 2
- [BUG] Parser should correctly identify empty tuple. HOT 3
- [BUG] Negative exponent causes invalid literal number error HOT 2
- Is it possible to use wasm like pyscript? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pocketpy.