Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
A data-oriented toolkit for graph data
versioned graphs + streams + query using Python + GraphQL
Zef is an open source, data-oriented toolkit for graph data. It combines the access speed and local development experience of an in-memory data structure with the power of a fully versioned, immutable database (and distributed persistence if needed with ZefHub). Furthermore, Zef includes a library of composable functional operators, effects handling, and native GraphQL support. You can pick and choose what you need for your project.
If any of these apply to you, Zef might help:
Zef is currently in Public Alpha.
The platforms we currently support are 64-bit Linux and MacOS. The latest version can be installed via the PyPI repository using:
pip install zef
This will attempt to install a wheel if supported by your system and compile from source otherwise. See INSTALL for more details if compiling from source.
Check out our installation doc for more details about getting up and running once installed.
Here's some quick points to get going. Check out our Quick Start and docs for more details.
A quick note, in Zef, we overloaded the "|" pipe so users can chain together values, Zef operators (ZefOps), and functions in sequential, lazy, and executable pipelines where data flow is left to right.
from zef import * # these imports unlock user friendly syntax and powerful Zef operators (ZefOps)
from zef.ops import *
g = Graph() # create an empty graph
p1 = ET.Person | g | run # add an entity to the graph
(p1, RT.FirstName, "Yolandi") | g | run # add "fields" via relations triples: (source, relation, target)
p1 | Out[RT.FirstName] # one hop: step onto the relation
p1 | out_rel[RT.FirstName] # two hops: step onto the target
p1 | time_travel[-2] # move reference frame back two time slices
p1 | time_travel[Time('2021 December 4 15:31:00 (+0100)')] # move to a specific date and time
g | sync[True] | run # save and sync all future changes on ZefHub
# ---------------- Python Session A (You) -----------------
g | uid | to_clipboard | run # copy uid onto local clipboard
# ---------------- Python Session B (Friend) -----------------
graph_uid: str = '...' # uid copied from Slack/WhatsApp/email/etc
g = Graph(graph_uid)
g | now | all[ET] | collect # see all entities in the latest time slice
Zef is designed so you can use it locally and drop it into any existing project. You have the option of syncing your graphs with ZefHub, a service that persists, syncs, and distributes graphs automatically (and the company behind Zef). ZefHub makes it possible to share graphs with other users and see changes live, by memory mapping across machines in real-time!
You can create a ZefHub account for free which gives you full access to storing and sharing graphs forever. For full transparency, our long-term hope is that many users will get value from Zef or Zef + ZefHub for free, while ZefHub power users will pay a fee for added features and services.
We want to make it incredibly easy for developers to build fully distributed, reactive systems with consistent data and cross-language (Python, C++, Julia) support. If there's sufficient interest, we'd be happy to share a public board of items we're working on.
Thank you for considering contributing to Zef! We know your time is valuable and your input makes Zef better for all current and future users.
To optimize for feedback speed, please raise bugs or suggest features directly in our community chat https://zef.chat.
Please refer to our CONTRIBUTING file and CODE_OF_CONDUCT file for more details.
Zef is licensed under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
The compiled libraries make use of the following packages:
asio
(https://github.com/chriskohlhoff/asio)JWT++
(https://github.com/Thalhammer/jwt-cpp)Curl
(https://github.com/curl/curl)JSON
(https://github.com/nlohmann/json)Parallel hashmap
(https://github.com/greg7mdp/parallel-hashmap)Ranges-v3
(https://github.com/ericniebler/range-v3)Websocket++
(https://github.com/zaphoyd/websocketpp)Zstandard
(https://github.com/facebook/zstd)pybind11
(https://github.com/pybind/pybind11)pybind_json
(https://github.com/pybind/pybind11_json)FAQs
A data-oriented toolkit for graph data
We found that zef demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.