In short: It's a data format that supports fast access to specific keys, is highly efficient, and is perfect for large datasets and performance-critical applications. Think of it as JSON on steroids, but with a focus on speed and efficiency.
You could say it's similar to JSON in terms of flexibility, but its constraints are clearer and the way it handles data makes more sense. Plus, it comes with an index at the end of the file, similar to ZIP's EOCD, which allows for quick access to specific keys.
Currently, Sepur is just an idea. No code has been written yet, but I'm super excited about the potential! Here's what's coming up next:
-
Design Time
First, I'll be focusing on designing how Sepur will work. The goal is to make it efficient, flexible, and easy to use.
-
Prototyping
Once I have a solid design, I'll create a prototype to test my ideas and see what works and what doesn't.
-
Coding
With a clear design and prototype, I'll start writing the actual code in Rust. Rust is great for performance and safety, which is perfect for what I want to achieve.
If you're as excited about Sepur as I am, here's how you can get involved:
-
Share Your Thoughts
Let me know what features you'd like to see or any challenges you think I might face.
-
Collaborate
If you have experience with Rust or data formats, I'd love to work with you!
-
Spread the Word
Tell your friends and colleagues about Sepur. I'm an introverted person, so it's best to have some friends to vent and cry out your problems with. (that was just a joke)
Sepur is a Javanese word for "train". Since this is supposed to be a fast file format, so, wooosh... a train.. yay?
One of the cool things about Sepur is that its structure makes it well-suited for streaming scenarios. The data can be streamed in before the EOCD is written, making it ideal for real time data processing.
Stay tuned for updates as I move from the idea phase to actually building Sepur. I can't wait to see it come to life!
README shamelessly mostly generated by AI, but I made quite some major edits.