The eikobot desired state engine.
Project description
Eikobot Desired State Engine
The little Desired State Engine that made it so.
Roadmap
Frontend
- basic lexer
- basic expression parser
- basic types (bool, int, float, string)
- Math and string operations
- Resource definitions
- base import system (
import some_module
) - basic typing (allowing expressions for typing)
- cli commands
- add
from
imports (from some_module import some_thing
) - a plugin system
- add typedefs
- allow for complex types (Type parsing is wholy seperate now)
- add a
None
type - add
Optional
, allowing for something to be either None or some other type. - allow for NotSet
- add a
Union
type - add a
List
type - add a
Dict
type - automatic/lazy sub imports
- custom constructors
STD
- add basic regex.match
- add debug_msg (requires
None
) - add IPv4/IPv6
Backend
- crud resource
Linters, type checkers, testing, etc
Currently this project uses:
mypy
for advanced type checkingisort
to auto format the importsblack
to auto format codeflake8
to do basic linting (and pointing out where isort and black would make changes)pylint
for advanced linting and code smell detectionbandit
to scan for security issues
Note that the flake8-isort
and flake8-black
plugins are used,
and Flake8 will emit isort
and black
issues but not auto format them,
these tools will still need to be ran afterwards to fix any errors.
The Flake8-pylint
and Flake8-mypy
plugins are not used as they are in broken state.
For vscode, adding the following settings to your config is recommended:
{
"python.linting.flake8Enabled": true,
"python.linting.mypyEnabled": true,
"python.linting.pylintEnabled": true,
"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": [],
"editor.insertSpaces": true,
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
eikobot-0.1.0.tar.gz
(31.1 kB
view hashes)
Built Distribution
eikobot-0.1.0-py3-none-any.whl
(35.8 kB
view hashes)