Skip to content

Commit

Permalink
Tweak README
Browse files Browse the repository at this point in the history
  • Loading branch information
derks committed May 20, 2024
1 parent 70992b2 commit 5d1e32b
Showing 1 changed file with 14 additions and 19 deletions.
33 changes: 14 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,16 @@ Cement core features include (but are not limited to):
- Controller handler supports sub-commands, and nested controllers
- Hook support adds a bit of magic to apps and also ties into framework
- Zero external dependencies* (not including optional extensions)
- 100% test coverage (`pytest`)
- 100% PEP8 compliant (`flake8`)
- 100% test coverage (`pytest`, `coverage`)
- 100% PEP8 compliant (`ruff`)
- Extensive API Reference (`sphinx`)
- Tested on Python 3.8+

*Some optional extensions that are shipped with the mainline Cement sources do require external dependencies. It is the responsibility of the application developer to include these dependencies along with their application, as Cement explicitly does not include them.*
## Optional Extensions

Some extensions that are shipped with the mainline Cement source do require external dependencies. It is the responsibility of the application developer to include these dependencies along with their application, as Cement explicitly does not include them. Dependencies can be installed via each extensions optional package (ex: `cement[colorlog]`, `cement[redis]`, etc).

See: [https://docs.builtoncement.com/extensions](https://docs.builtoncement.com/extensions)


## More Information
Expand Down Expand Up @@ -67,6 +71,9 @@ $ docker-compose up -d
$ docker-compose exec cement /bin/bash
```

All execution is done *inside the docker containers*.


**Testing Alternative Versions of Python**

The latest stable version of Python 3 is the default, and target version accessible as the `cement` container within Docker Compose. For testing against alternative versions of python, additional containers are created (ex: `cement-py38`, `cement-py39`, etc). You can access these containers via:
Expand All @@ -90,18 +97,6 @@ $ docker-compose exec cement-py39 /bin/bash
```


### VirtualENV

An traditional VirtualENV helper is available:

```
$ make virtualenv
$ source env/bin/activate
|> cement <| $
```

### Vagrant

An alternative option is included to run Vagrant for development. This is partially supported, primarily for the purpose of developing/testing on Windows as well as testing specific issues on target operating systems.
Expand All @@ -125,7 +120,7 @@ vagrant@linux $ bash scripts/vagrant/bootstrap.sh
vagrant@linux $ make virtualenv
vagrant@linux $ source env/bin/activate
vagrant@linux $ pdm venv activate
|> cement >| $
```
Expand All @@ -149,9 +144,9 @@ C:\> cd C:\Vagrant
C:\Vagrant> powershell.exe scripts\vagrant\bootstrap.ps1
C:\Vagrant> make virtualenv-windows
C:\Vagrant> make virtualenv
C:\Vagrant> .\env-windows\Scripts\activate.ps1
C:\Vagrant> pdm venv activate
C:\Vagrant> make test-core
```
Expand All @@ -161,7 +156,7 @@ C:\Vagrant> make test-core

### Running Tests and Compliance

Cement has a strict policy that all code and tests meet PEP8 guidelines, therefore `flake8` is called before any unit tests run. All code submissions require 100% test coverage and PEP8 compliance:
Cement has a strict policy that all code and tests meet PEP8 guidelines, therefore `ruff` is called before any unit tests run. All code submissions require 100% test coverage and PEP8 compliance:

Execute the following to run all compliance and unit tests:

Expand Down

0 comments on commit 5d1e32b

Please sign in to comment.