Skip to main content

No project description provided

Project description

bluemax

bluemax is a python rpc server using websockets.

The concept is that you can write python functions and expose them in the __all__ property of the module.

The complexity comes when you want to do more than this. And that is what I am working on. The most important pattern to me is being able to insert, update and delete in the database and be able to broadcast the changes to all users after the actor gets their response. I call it broadcast_on_success.

    actor   crud    broadcast
      |       |         |
      |------>|         |
      |       |         |
      |<------|         |
      |       |-------->|
      |       |         |
      |<------|---------|
      |       |         |

The errors from crud are local to the actor. The actor will receive identity on success and then like every other user hear about crud via broadcast.

Using annotations allows clients to infer function. See the sample.add function.

For deployment of multiple servers see:

http://www.tornadoweb.org/en/stable/guide/running.html#running-behind-a-load-balancer

To use:

pip install bluemax

To install:

python3.7 -m venv venv
. venv/bin/activate
pip install -e git+https://bitbucket.org/blueshed/bluemax.git#egg=bluemax

To run you can choose either with workers using redis or standalone.

To run standalone:

bluemax run.server -m bluemax.tests.foo

To run with redis:

pip install bluemax[redis]
docker run -p 6379:6379 -d redis:2.8

Then create a conf.yml file containing:

---
procedures: tests.foo
services: tests.foo.services
REDIS_URL: redis://localhost

Then run a worker in one terminal and a server in the another.

bluemax run.worker -c conf.yml

and

bluemax run.services -c conf.yml

and

bluemax run.server -c conf.yml

Now go to http://localhost:8080 and add some numbers.

To build your own project try:

bluemax sidney olive

You can use any name for your module. It will create extension points for logs, settings, urls and a base procedures modules. bluemax will look for your procedures.all in the module you pass in.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bluemax-0.2.7.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

bluemax-0.2.7-py3-none-any.whl (51.3 kB view details)

Uploaded Python 3

File details

Details for the file bluemax-0.2.7.tar.gz.

File metadata

  • Download URL: bluemax-0.2.7.tar.gz
  • Upload date:
  • Size: 33.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for bluemax-0.2.7.tar.gz
Algorithm Hash digest
SHA256 fe2d36ce88d87cf6cc8302bc7ca724e0574f563967d93483f2598e5cec918cd5
MD5 59439c04cedac7c09bfa2cea7d32de28
BLAKE2b-256 6b75b8ce7041f835693ab690cebcfb51f1b8b76c5e032ea15545bdc43d7e7a72

See more details on using hashes here.

File details

Details for the file bluemax-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: bluemax-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 51.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for bluemax-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cdcf17fd1c4bf163476915b15a52ce5de6cce563f83611ffa4a08f0e9e9b30bc
MD5 e96c82fd9779566746603ca00d79c1e1
BLAKE2b-256 5b6868123a728dfb9164af10f52cea7bd4650c8ab0381b90187dfea7f1cc9ed8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page