You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-1Lines changed: 21 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -350,7 +350,18 @@ class DebugLevel(str, Enum):
350
350
351
351
```
352
352
353
-
## 🐋 Docker
353
+
## 🧑💻 Development Enviroment
354
+
355
+
### 🏠 Local
356
+
357
+
Follow these steps to install the `chasten` tool for future development:
358
+
359
+
- The developement and use of Chasten requires [Python 3.11](https://www.python.org/downloads/release/python-3115/), must be greater or equal to version 3.11.5.
360
+
- The developers of Chasten use [Poetry](https://github.com/python-poetry/poetry) for packaging and dependency management.
361
+
362
+
Once Python and Poetry is installed, please go to the [Chasten](https://github.com/AstuteSource/chasten) repository on github and install the tool using the `git clone` command in your terminal. Then navigate to the Chasten directory and run the command `poetry install` to install all the dependencies.
363
+
364
+
### 🐋 Docker
354
365
355
366
There is also the option to use [Docker](https://www.docker.com/) to use `chasten`
356
367
@@ -369,6 +380,15 @@ Follow these steps to utilize Docker:
369
380
- Outside of the container type `docker commit <your-container-id> <your-image-name>` to save the dependecy installation
370
381
- Now you can use Docker for all of your `chasten` needs!
371
382
383
+
## 📋 Development Tasks
384
+
385
+
- **Linting and Formatting**
386
+
- We use the linting tools `Black` and `Ruff` on Chasten to ensure code consistency, readability, and adherence to predefined formatting standards across the entire project, ultimately enhancing maintainability and collaboration among developers.
387
+
- Please ensure all content in the project follow the appropriate format by running the following commands: `poetry run task fiximports` and/or `poetry run task fixformat` before shipping new features. If features are shipped with linting issues, the build will break on github due to the failure of the test suite.
388
+
- **Testing and Coverage**
389
+
- Chasten uses the testing tools `Pytest` and `Hypothesis` which enables us to fortify code consistency, readability, and alignment with established formatting standards throughout the project. When writing test cases for features, create a new file in the tests directory with the naming convention `test_(name of file)`.
390
+
- Please ensure all content in the project passes the tests by running the following commands: `poetry run task test` for most cases or if you would like to test the OpenAI API based features `poetry run task test-api` before shipping. If features are shipped without a test suite, the coverage will be lowered on github due to the addition of untested code and may potenitally lead to larger issues in the future.
391
+
372
392
## 🤗 Learning
373
393
374
394
- **Curious about the nodes that are available in a Python program's AST?**
0 commit comments