<commit_before>master: [![Build Status](https://travis-ci.org/mkorman9/framepy.svg?branch=master)](https://travis-ci.org/mkorman9/framepy), 
release: [![Build Status](https://travis-ci.org/mkorman9/framepy.svg?branch=release)](https://travis-ci.org/mkorman9/framepy)    
[![Code Climate](https://codeclimate.com/github/mkorman9/framepy/badges/gpa.svg)](https://codeclimate.com/github/mkorman9/framepy)   

### Description
Simple Python 3 framework for web applications. It supports:
* Spring-like dependency injection using decorators
* REST APIs exposing with underlying CherryPy framework
* Automatic payloads validation and mapping
* ORM with underlying SQLAlchemy
* AMQP messaging with pika
* Eureka service discovery and registration
* Redis
* REST client with failover
* Modular architecture

### Branching model
All changes and pull requests should be raised against *master* branch. Merging to *release* is done through internal pull request. Changes made in *release* are automatically deployed to PyPI repository.<commit_msg>added test coverage badge<commit_after>master: [![Build Status](https://travis-ci.org/mkorman9/framepy.svg?branch=master)](https://travis-ci.org/mkorman9/framepy), 
release: [![Build Status](https://travis-ci.org/mkorman9/framepy.svg?branch=release)](https://travis-ci.org/mkorman9/framepy)    
[![Code Climate](https://codeclimate.com/github/mkorman9/framepy/badges/gpa.svg)](https://codeclimate.com/github/mkorman9/framepy)
[![Test Coverage](https://codeclimate.com/github/mkorman9/framepy/badges/coverage.svg)](https://codeclimate.com/github/mkorman9/framepy/coverage)

### Description
Simple Python 3 framework for web applications. It supports:
* Spring-like dependency injection using decorators
* REST APIs exposing with underlying CherryPy framework
* Automatic payloads validation and mapping
* ORM with underlying SQLAlchemy
* AMQP messaging with pika
* Eureka service discovery and registration
* Redis
* REST client with failover
* Modular architecture

### Branching model
All changes and pull requests should be raised against *master* branch. Merging to *release* is done through internal pull request. Changes made in *release* are automatically deployed to PyPI repository.
{'fraction_non_alphanumeric': 0.11191011235955056, 'fraction_numerical': 0.0071910112359550565, 'mean_word_length': 5.849230769230769, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 14, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1709849', 'n_tokens_mistral': 666, 'n_tokens_neox': 631, 'n_words': 178}