Minimally Invasive / Un-Opinionated
Most python web frameworks try to restrict how you want to build your code. With Eynnyd you can:
- Use REST or Don't.
- Name your functions whatever you want.
- Use Dependency Inversion or Don't.
- Have as many or as few interceptors as you want.
- Control what routes your interceptors wrap.
- Extraneous Dependencies.
- Forced Inheritance.
- Magic Global Singletons.
- Extraneous coupling design.
Easy To Debug
One of the biggest costs to using frameworks is, when something goes wrong, (and it eventually will) you often end up debugging through framework code. This problem is exasperated when the framework is written ignoring good principles of software engineering. The more magic and "cleverness" built into the framework the harder it will be to debug, and the greater the cost you are paying for the benefits the framework brings you. Eynnyd isn't perfect but we focused on keeping things clean above all else. At the forefront of Eynnyd's design is:
- Good Naming.
- Small single purpose functions and objects.
- Isolated Conditionals.
- SOLID Principles.
- Single levels of Abstraction.
- Fail Fast Validation.
- Command Query Separation.
- Avoiding the use of None.
- Immutable Data.
- No premature optimization.
- Avoidance of Generic Exceptions.
- And many more.
Eynnyd has 100% test coverage, but far more important, all the important code paths have coverage. Code test coverage can easily be faked using bad tests. Our Tests are designed with the F.I.R.S.T principles of testing. You can use the framework with confidence that the code does what it is designed to do.
Thanks to it being a WSGI framework, Eynnyd is already supported for launch in the cloud infrastructure of your choosing, whether that be AWS, Azure, Google Cloud, or others. Documentation for releasing applications built on other WSGI frameworks will work for releasing applications built on Eynnyd.