Decription
About
Radical is a RPC library that allows you to have cross-service communication out of the box.
It can serve as a replacement for Celery.
Radical has out-of-the-box integration with Django and also supports asyncio, but can be used without it.
Radical is easily extensible with custom transports and serializers.
Available transports:
Redis
Postgres
Default and recommended transport is Redis.
Available serializers:
JSON
Pickle
Default and recommended serializer is Pickle.
Glossary
Term |
Meaning |
|---|---|
Service |
A fully autonomous application written with Django, Sanic or vanilla Python. |
Transport |
Module that provides interface to actual network communication: for example, a Redis transport. |
Serializer |
Module that provides interface to data serialization and deserialization. |
Quick start
Installing
pip install radical-rpc
Using with Django
Add Radical to INSTALLED_APPS:
INSTALLED_APPS = [ # ... 'radical', # ... ]Configure Radical:
RADICAL_CONFIG = { 'TRANSPORT_URL': 'redis://redis:6379/0?request_timeout=10', 'QUEUE_NAME': 'myapp', 'MODULES': [ 'radical.demo' ] }Call it anywhere:
from radical.contrib.django import call_wait, call from django.http import JsonResponse def some_view(request): # Call remote method and wait for it to return result. result = call_wait('myapp', 'radical.demo.add', 1300, 37) return JsonResponse(dict(result=result)) # Returns {'result': 1337} def some_view(request): # Call remote method and do not wait for it to finish. call('myapp', 'radical.demo.add', 1300, 37) return JsonResponse(dict(result='Job was scheduled.'))Start Radical worker:
./manage.py radical
Metadata
Release files for radical-rpc 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| radical-rpc-0.1.7.tar.gz | 11.8 kB | Without provenance | Details |
Release files / radical-rpc-0.1.7.tar.gz
| Download URL | radical-rpc-0.1.7.tar.gz |
|---|---|
| Size | 11.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b77e2c3c98d487f8a6cebb03fbb360f94aada3b73457a48951416c628dc67364
|
|
BLAKE2b-256 checksum How to use checksums |
2c890412865593dd0a6e8b7125c25720800077ff3d2a7519b80d9677c35b9a79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.6
|
Security for radical-rpc 0.1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.