python-microservices/pyms
Library of utils to create REST Python Microservices
27 Releases
Latest: 2y ago
v2.9.0rc12.9.0rc1LatestPre-release
📋 Changes
- Replace pyenv in favor of poetry https://github.com/python-microservices/pyms/pull/237
- Update Pyms dependencies,
- Fix issue "KeyError: 'WERKZEUG_SERVER_FD'" https://github.com/python-microservices/pyms/issues/241 (PR https://github.com/python-microservices/pyms/pull/246)
- Fix issue "KeyError: 'APP_NAME'," https://github.com/python-microservices/pyms/issues/242 (PR https://github.com/python-microservices/pyms/pull/246)
- Integrate last version of Connexion
- Deprecate opentracing
- Deprecate jaeger_client
- Depreacte prometheus
v2.8.02.8.0
📋 Changes
- Updated dependencies. `anyconfig` security risk #223
- Support more parameters for Connexion #222
- Support registration in Consul and created a driver to connect other Services Discovery #221
- Added command `create-config` #204 - @path2himanshu
v2.7.02.7.0
📋 Changes
- Updated dependencies #158
- Added config reload endpoint #174 - @lcd1232
- Support multiprocessing metrics #179 - @Agalin
- Added namespace on env vars with backward compatibility #191 - @rapejim
- Added type hinting #167, #177 - @Gavin
v2.6.12.6.1
📋 Changes
- fix(metrics): use rule as path #150 - @alexppg
v2.6.02.6.0
📋 Changes
- Ability to use segmented API Specification (Swagger) included, ie, could have the following structure #115 - @f-arruza
- components/
- domain01/
- responses.yaml
- schemas.yaml
- responses.yaml
- schemas.yaml
- info.yaml
- + 3 more
v2.5.12.5.1
📋 Changes
- Fix init services in tests #114
v2.5.02.5.0
📋 Changes
- Reverse proxy pattern #103
- Added AWS kms support #105
- Added patch method to request service #104 - @LiangJQ
- Don't enable services implicitly #106
v2.4.32.4.3
📋 Changes
- Dependency error when not install py-ms with `[all]`. Raise this error:
v2.4.12.4.1
📋 Changes
- [Connexion](https://github.com/zalando/connexion) path in OpenAPI 3.0
- url: http://localhost:8080/test/path/
v2.4.02.4.0
📋 Changes
- Metrics fixes - @alexppg
- Add http status code to latency metrics
- Also, change some metrics and labels name to make them more standard.
- Removed required param `path` in Microservice Class. Autodetect the current directory, If you want to deploy the microservice to production with gunicorn we recommended use `path`
- [Connexion](https://github.com/zalando/connexion) path
v2.3.02.3.0
📋 Changes
- Installing minimun dependencies
- Installing request dependencies
- Installing swagger dependencies
- Installing metrics dependencies
- Installing trace dependencies
- Installing cryptography dependencies
v2.3.0rc12.3.0rc1Pre-release
📋 Changes
- Installing minimun dependencies
- Installing request dependencies
- Installing swagger dependencies
- Installing metrics dependencies
- Installing trace dependencies
- Installing cryptography dependencies
v2.2.22.2.2
📋 Changes
- If you set a config file from env, but exists a default file. PyMS load the default file first instead the env fi
- Fix packages included in `python setup.py sdist bdist_wheel`
v2.2.02.2.0
📋 Changes
- Create project from scaffold #90
- Encrypt/decrypt config (#86)
- New encryption and decryption feature with [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
- Create a key to encrypt config with new command line `pyms create-key`
- Encrypt a string with the new command line `pyms encrypt [STRING]`
- Set the key file with new environment variable `KEY_FILE`
- If you set in your config a var with the prefix "ENC_" or "enc_" PyMS search for the key file and decrypt the string. Now you can encrypt your database url for production environments. I.E.:
- Human readable config errors #85
- + 3 more
v2.1.02.1.0
📋 Changes
- Refactor config:
- Memoize config file to prevent open each time access to the configuration
- Removed "uppercase" parameter, created `to_flask()` method to uppercase attrs to create Flask config
- Reload config from file. First step to solve the issue #71
- Reload services and app when the configuration was reloaded with `Microservice.reload()` method. First step to solve the issue #71
- Removed memoize of service. This feature create an error on tests when create a instance of Microservice out of tests
v2.0.02.0.0
📋 Changes
- Refactor config. Issue #75 (#78)
- Added RestyResolver to connexion, issue #39 (#74)
- Set swagger url by config file (#73)
- Fix tracers and logging Working outside of application context (#76)
- Fix pylint not executed in service folder (#69)
- Updated tox and dependencies (#77)
v2.0.0rc12.0.0rc1Pre-release
📋 Changes
- Refactor config. Issue #75 (#78)
- Added RestyResolver to connexion, issue #39 (#74)
- Set swagger url by config file (#73)
- Fix tracers and logging Working outside of application context (#76)
- Fix pylint not executed in service folder (#69)
- Updated tox and dependencies (#77)
v1.5.01.5.0
📋 Changes
- Memoizes config file per service
- Updates dependencies
- Created [metrics as a service](https://py-ms.readthedocs.io/en/latest/services/#metrics)
- backward compatible requests service. If we have the old way to init requests raise a exception like:
v1.4.11.4.1
📋 Changes
- Removed tracer from core
- Created tracer as a service
- Configure tracer between jaeger and lightstep from config.yml
- Set tracer host from config.yml
- Check if package is installed
- Fix Coveralls. Not push coverage since 07/2019
- Fix error when swagger service not present in config.yml
v1.3.21.3.2
📋 Changes
- Changed logging messages to debug
- Added pylint validation to CI
v1.3.11.3.1
📋 Changes
- Fix pypi dependencies
v1.3.01.3.0
📋 Changes
- Access to pyms class from `flask.current_app.ms`
v1.2.01.2.0
📋 Changes
- Added retry system to requests wrapper
- Fix pylint errors
- Updated docs
v1.1.01.1.0
**Configuration out of context** Access to our YAML configuration out of Flask context. See https://py-ms.readthedocs.io/en/latest/configuration/#import-configuration for more details
v1.0.31.0.3
Fix error when Flask search for static files in wrong path
v1.0.11.0.1
📋 Changes
- fix/coveralls
- Resolve issue #34
- Replace tracer Jaeger with Lightstep
- Not working with Flask-OpenTracing==1.0.0. use 0.2.0
- Not working with opentracing==2.0.0
- Use Tornado < 5. Tornado < 5 have security errors
- Added [Bandit](https://github.com/PyCQA/bandit) to static security analysis
- Added [Safety](https://github.com/pyupio/safetyt) to requirements security analysis
- + 2 more
v1.0.01.0.0
First stable release
