├── .coveragerc ├── .gitignore ├── .pylintrc ├── .travis.yml ├── LICENSE ├── MANIFEST.in ├── README.rst ├── TODO.md ├── appveyor.yml ├── docs ├── Makefile ├── changes.rst ├── conf.py ├── index.rst ├── make.bat ├── reference │ ├── gemstone.client.rst │ ├── gemstone.config.rst │ ├── gemstone.core.rst │ ├── gemstone.discovery.rst │ ├── gemstone.event.rst │ ├── gemstone.plugins.rst │ ├── gemstone.util.rst │ └── modules.rst └── topics │ ├── configuration.rst │ ├── index.rst │ ├── publisher_subscriber.rst │ ├── rpc.rst │ └── service_discovery.rst ├── examples ├── example_client │ ├── client.py │ └── service.py ├── example_coroutine_method │ └── service.py ├── example_discovery │ ├── registry.py │ ├── service1.py │ └── service2.py ├── example_events │ ├── service.py │ └── service2.py ├── example_handler_ref │ └── service.py ├── example_modules │ ├── module_1.py │ ├── module_2.py │ └── service.py ├── example_plugins │ ├── __init__.py │ └── service.py ├── example_publisher_subscriber │ ├── consumer.py │ └── producer.py ├── example_stats │ └── service.py ├── example_webapp_vuejs │ ├── index.html │ └── service.py └── hello_world.py ├── gemstone ├── __init__.py ├── cli.py ├── client │ ├── __init__.py │ ├── remote_service.py │ └── structs.py ├── config │ ├── __init__.py │ ├── configurable.py │ └── configurator.py ├── core │ ├── __init__.py │ ├── container.py │ ├── decorators.py │ ├── handlers.py │ ├── microservice.py │ └── structs.py ├── discovery │ ├── __init__.py │ ├── base.py │ ├── cache.py │ ├── default.py │ └── redis_strategy.py ├── errors.py ├── event │ ├── __init__.py │ └── transport │ │ ├── __init__.py │ │ ├── base.py │ │ ├── rabbitmq.py │ │ └── redis_transport.py ├── plugins │ ├── __init__.py │ ├── base.py │ └── error.py └── util.py ├── pytest.ini ├── requirements.txt ├── requirements_tests.txt ├── scripts └── send_single_event.py ├── setup.py └── tests ├── __init__.py ├── configuration ├── __init__.py ├── test_cmd_configuration.py └── test_configurables.py ├── events ├── test_events.py └── test_rabbitmq.py ├── functional ├── __init__.py ├── test_jsonrpc_specs.py └── test_microservice.py ├── services ├── __init__.py ├── service_client.py ├── service_jsonrpc_specs.py ├── service_microservice.py ├── service_service_creation.py ├── static_files │ ├── static1 │ └── static2 └── template_files │ ├── template1.html │ └── template2.html ├── test_client.py ├── test_client_functional.py ├── test_structs.py └── test_utils.py /.coveragerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/.coveragerc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/.gitignore -------------------------------------------------------------------------------- /.pylintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/.pylintrc -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/README.rst -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/TODO.md -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/appveyor.yml -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/changes.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/changes.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/reference/gemstone.client.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/gemstone.client.rst -------------------------------------------------------------------------------- /docs/reference/gemstone.config.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/gemstone.config.rst -------------------------------------------------------------------------------- /docs/reference/gemstone.core.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/gemstone.core.rst -------------------------------------------------------------------------------- /docs/reference/gemstone.discovery.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/gemstone.discovery.rst -------------------------------------------------------------------------------- /docs/reference/gemstone.event.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/gemstone.event.rst -------------------------------------------------------------------------------- /docs/reference/gemstone.plugins.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/gemstone.plugins.rst -------------------------------------------------------------------------------- /docs/reference/gemstone.util.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/gemstone.util.rst -------------------------------------------------------------------------------- /docs/reference/modules.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/reference/modules.rst -------------------------------------------------------------------------------- /docs/topics/configuration.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/topics/configuration.rst -------------------------------------------------------------------------------- /docs/topics/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/topics/index.rst -------------------------------------------------------------------------------- /docs/topics/publisher_subscriber.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/topics/publisher_subscriber.rst -------------------------------------------------------------------------------- /docs/topics/rpc.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/topics/rpc.rst -------------------------------------------------------------------------------- /docs/topics/service_discovery.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/docs/topics/service_discovery.rst -------------------------------------------------------------------------------- /examples/example_client/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_client/client.py -------------------------------------------------------------------------------- /examples/example_client/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_client/service.py -------------------------------------------------------------------------------- /examples/example_coroutine_method/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_coroutine_method/service.py -------------------------------------------------------------------------------- /examples/example_discovery/registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_discovery/registry.py -------------------------------------------------------------------------------- /examples/example_discovery/service1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_discovery/service1.py -------------------------------------------------------------------------------- /examples/example_discovery/service2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_discovery/service2.py -------------------------------------------------------------------------------- /examples/example_events/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_events/service.py -------------------------------------------------------------------------------- /examples/example_events/service2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_events/service2.py -------------------------------------------------------------------------------- /examples/example_handler_ref/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_handler_ref/service.py -------------------------------------------------------------------------------- /examples/example_modules/module_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_modules/module_1.py -------------------------------------------------------------------------------- /examples/example_modules/module_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_modules/module_2.py -------------------------------------------------------------------------------- /examples/example_modules/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_modules/service.py -------------------------------------------------------------------------------- /examples/example_plugins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/example_plugins/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_plugins/service.py -------------------------------------------------------------------------------- /examples/example_publisher_subscriber/consumer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_publisher_subscriber/consumer.py -------------------------------------------------------------------------------- /examples/example_publisher_subscriber/producer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_publisher_subscriber/producer.py -------------------------------------------------------------------------------- /examples/example_stats/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_stats/service.py -------------------------------------------------------------------------------- /examples/example_webapp_vuejs/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_webapp_vuejs/index.html -------------------------------------------------------------------------------- /examples/example_webapp_vuejs/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/example_webapp_vuejs/service.py -------------------------------------------------------------------------------- /examples/hello_world.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/examples/hello_world.py -------------------------------------------------------------------------------- /gemstone/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/__init__.py -------------------------------------------------------------------------------- /gemstone/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/cli.py -------------------------------------------------------------------------------- /gemstone/client/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/client/__init__.py -------------------------------------------------------------------------------- /gemstone/client/remote_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/client/remote_service.py -------------------------------------------------------------------------------- /gemstone/client/structs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/client/structs.py -------------------------------------------------------------------------------- /gemstone/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/config/__init__.py -------------------------------------------------------------------------------- /gemstone/config/configurable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/config/configurable.py -------------------------------------------------------------------------------- /gemstone/config/configurator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/config/configurator.py -------------------------------------------------------------------------------- /gemstone/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/core/__init__.py -------------------------------------------------------------------------------- /gemstone/core/container.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/core/container.py -------------------------------------------------------------------------------- /gemstone/core/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/core/decorators.py -------------------------------------------------------------------------------- /gemstone/core/handlers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/core/handlers.py -------------------------------------------------------------------------------- /gemstone/core/microservice.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/core/microservice.py -------------------------------------------------------------------------------- /gemstone/core/structs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/core/structs.py -------------------------------------------------------------------------------- /gemstone/discovery/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/discovery/__init__.py -------------------------------------------------------------------------------- /gemstone/discovery/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/discovery/base.py -------------------------------------------------------------------------------- /gemstone/discovery/cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/discovery/cache.py -------------------------------------------------------------------------------- /gemstone/discovery/default.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/discovery/default.py -------------------------------------------------------------------------------- /gemstone/discovery/redis_strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/discovery/redis_strategy.py -------------------------------------------------------------------------------- /gemstone/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/errors.py -------------------------------------------------------------------------------- /gemstone/event/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/event/__init__.py -------------------------------------------------------------------------------- /gemstone/event/transport/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/event/transport/__init__.py -------------------------------------------------------------------------------- /gemstone/event/transport/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/event/transport/base.py -------------------------------------------------------------------------------- /gemstone/event/transport/rabbitmq.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/event/transport/rabbitmq.py -------------------------------------------------------------------------------- /gemstone/event/transport/redis_transport.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/event/transport/redis_transport.py -------------------------------------------------------------------------------- /gemstone/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/plugins/__init__.py -------------------------------------------------------------------------------- /gemstone/plugins/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/plugins/base.py -------------------------------------------------------------------------------- /gemstone/plugins/error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/plugins/error.py -------------------------------------------------------------------------------- /gemstone/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/gemstone/util.py -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | tornado 2 | click 3 | simplejson -------------------------------------------------------------------------------- /requirements_tests.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/requirements_tests.txt -------------------------------------------------------------------------------- /scripts/send_single_event.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/scripts/send_single_event.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/configuration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/configuration/test_cmd_configuration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/configuration/test_cmd_configuration.py -------------------------------------------------------------------------------- /tests/configuration/test_configurables.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/configuration/test_configurables.py -------------------------------------------------------------------------------- /tests/events/test_events.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/events/test_events.py -------------------------------------------------------------------------------- /tests/events/test_rabbitmq.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/events/test_rabbitmq.py -------------------------------------------------------------------------------- /tests/functional/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/functional/test_jsonrpc_specs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/functional/test_jsonrpc_specs.py -------------------------------------------------------------------------------- /tests/functional/test_microservice.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/functional/test_microservice.py -------------------------------------------------------------------------------- /tests/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/services/service_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/services/service_client.py -------------------------------------------------------------------------------- /tests/services/service_jsonrpc_specs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/services/service_jsonrpc_specs.py -------------------------------------------------------------------------------- /tests/services/service_microservice.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/services/service_microservice.py -------------------------------------------------------------------------------- /tests/services/service_service_creation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/services/service_service_creation.py -------------------------------------------------------------------------------- /tests/services/static_files/static1: -------------------------------------------------------------------------------- 1 | this is static 1 -------------------------------------------------------------------------------- /tests/services/static_files/static2: -------------------------------------------------------------------------------- 1 | this is static 2 -------------------------------------------------------------------------------- /tests/services/template_files/template1.html: -------------------------------------------------------------------------------- 1 | This is template 1 -------------------------------------------------------------------------------- /tests/services/template_files/template2.html: -------------------------------------------------------------------------------- 1 | hello {{name}} -------------------------------------------------------------------------------- /tests/test_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/test_client.py -------------------------------------------------------------------------------- /tests/test_client_functional.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/test_client_functional.py -------------------------------------------------------------------------------- /tests/test_structs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/test_structs.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vladcalin/gemstone/HEAD/tests/test_utils.py --------------------------------------------------------------------------------