awrns / Awareness
Licence: lgpl-3.0
The new architecture of co-computation for data processing and machine learning.
Stars: ✭ 11
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Awareness
Ruffles
Lightweight and fully managed reliable UDP library.
Stars: ✭ 131 (+1090.91%)
Mutual labels: library, networking, protocol
Zenoh
zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
Stars: ✭ 182 (+1554.55%)
Mutual labels: iot, networking, protocol
Mqtt
MQTT broker written in D, using vibe.d
Stars: ✭ 59 (+436.36%)
Mutual labels: iot, networking, protocol
Drago
A flexible configuration manager for Wireguard networks
Stars: ✭ 204 (+1754.55%)
Mutual labels: cloud, iot, networking
Pmhttp
Swift/Obj-C HTTP framework with a focus on REST and JSON
Stars: ✭ 509 (+4527.27%)
Mutual labels: library, networking
Enet Csharp
Reliable UDP networking library
Stars: ✭ 464 (+4118.18%)
Mutual labels: networking, protocol
Dorita980
Unofficial iRobot Roomba and Braava (i7/i7+, 980, 960, 900, e5, 690, 675, m6, etc) node.js library (SDK) to control your robot
Stars: ✭ 523 (+4654.55%)
Mutual labels: cloud, iot
Djangae
The best way to run Django on Google Cloud. This project is now on GitLab: https://gitlab.com/potato-oss/djangae/djangae
Stars: ✭ 576 (+5136.36%)
Mutual labels: cloud, library
Model server
A scalable inference server for models optimized with OpenVINO™
Stars: ✭ 431 (+3818.18%)
Mutual labels: ai, cloud
Laminar
A simple semi-reliable UDP protocol for multiplayer games
Stars: ✭ 530 (+4718.18%)
Mutual labels: networking, protocol
Ngtcp2
ngtcp2 project is an effort to implement IETF QUIC protocol
Stars: ✭ 589 (+5254.55%)
Mutual labels: networking, protocol
Fastocloud
Self-hosted IPTV/NVR/CCTV/Video service (Community version)
Stars: ✭ 464 (+4118.18%)
Mutual labels: ai, cloud
React Native Vision Camera
📸 The Camera library that sees the vision.
Stars: ✭ 443 (+3927.27%)
Mutual labels: ai, library
Kelda
Kelda is an approachable way to deploy to the cloud.
Stars: ✭ 433 (+3836.36%)
Mutual labels: cloud, networking
Pycraft
Minecraft-client networking library in Python
Stars: ✭ 574 (+5118.18%)
Mutual labels: library, networking
Dnsfs
Store your data in others DNS revolvers cache
Stars: ✭ 696 (+6227.27%)
Mutual labels: cloud, networking
Shellhub
💻 ShellHub enables teams to easily access any Linux device behind firewall and NAT.
Stars: ✭ 686 (+6136.36%)
Mutual labels: cloud-computing, iot
Awesome Serverless
☁️ A curated list of awesome services, solutions and resources for serverless / nobackend applications.
Stars: ✭ 6,654 (+60390.91%)
Mutual labels: cloud, cloud-computing
the documentation if you're confused by this tutorial.
Check out$ pip3 install awareness
$ python3
>>> import awareness as a
>>> # Let's make a simple Component that does something with data.
>>> class AdderComponent(a.LocalComponent):
... inputs = 2 # We'll take two numerical inputs
... outputs = 1 # and produce one numerical output.
...
... def run(self, input, progress_callback=None):
... output = []
... for item in input.items:
... value1 = item[0] # The first of the two numerical inputs
... value2 = item[1] # The second
... output.append([value1 + value2]) # Let's just add them.
... return a.Stream(output)
...
>>> # Now let's put it on the network using an Operator.
>>> operator = a.LocalOperator(b'192.168.1.2') # The IP address of this computer
>>> operator.components.append(AdderComponent())
>>> # Now let's make another Operator on the same network.
>>> # You'll need to switch to a different computer now.
>>> operator2 = a.LocalOperator(b'192.168.1.3') # The IP address of this other computer
>>> # It should know about the other Operator that we created earlier on 192.168.1.2.
>>> operator2.remote_operators.append(a.RemoteOperator(b'192.168.1.2'))
>>> # Now, we'll make some 'examples' of data that our AdderComponent should be able to handle.
>>> example1 = [2, 2]
>>> result1 = [4]
>>> example2 = [3, 1]
>>> result2 = [4]
>>> example3 = [1, 1]
>>> result3 = [3]
>>> examples = a.Set(
... a.Stream([example1, example2, example3]),
... a.Stream([result1, result2, result3])
... )
>>> # Let's feed that to the new operator2 on 192.168.1.3.
>>> # It will research which Component on the network is best.
>>> # (The result should be our AdderComponent on 192.168.1.2.)
>>> suggestion = operator2.search(1, examples, 2)
>>> print(suggestion.operations)
[(b'192.168.1.2', 1600, 0, 0, 0)]
>>> # It knows that the AdderComponent is probably a good fit for our examples! Let's try it:
>>> result = suggestion.run(a.Stream([example1, example2, example3]))
>>> result = result.extract(0, 1) # Restrict the result to just one output for readability
>>> print(result.items)
[[4]
[4]
[3]]
>>> # That's very cool. Imagine how easy it might be to find solutions to computational problems
>>> # if all software was in the form of Components!
the Awareness documentation to learn a lot more.
Ready? Head over toon Gitter if you'd like.
You can also ask questions and give feedbackAedan an email.
Seriously - if you're interested, please go there and say hi. Or, sendWorld Maker Faire 2017 in New York!
Awareness will also have an exhibit atBuilding from source and contributing
to Gitter to discuss changes and improvements too.
If you'd like to mess with the source code a bit and submit a pull request to make Awareness better for everyone, we'd be very grateful. Awareness is still a young project, and pull requests are welcome. You can head overPyGradle. Getting started with a virtualenv-based installation of Awareness is simple:
Awareness is developed using the Gradle build system and$ git clone https://github.com/awrns/awareness
$ cd awareness
$ ./gradlew build
Now, you can type
$ source activate
python3
will become a virtual Python installation with Awareness available. When you're finished, just type
and $ deactivate
src/awareness
directory, don't forget to re-run ./gradlew build
in the root of the repository before re-activating the virtual environment.
to leave the virtual environment. Of course, if you do make any changes to the code located in the Licensing
Awareness is distributed under the GNU Lesser General Public License. More details are in the files COPYING and COPYING.LESSER. Copyright (c) 2016-2017 Aedan S. Cullen.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].