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
- Some niceties for [VS Code](https://code.visualstudio.com/) (see below).
35
35
36
-
## Development environment
36
+
## ⚙️Setup
37
+
38
+
Do either of the following.
39
+
40
+
-__Use this template__ button on GitHub to create a new project
41
+
-__Open in a codespace__ button on GitHub to start playing with the project
42
+
- Download, copy, or clone the project
37
43
38
44
### Visual Studio Code
39
45
@@ -43,8 +49,6 @@ The fastest route to productivity will come from opening this project remotely i
43
49
44
50
Once the container is ready, the project will be buildable, lintable, and testable. Linting and formatting will be automatically done as you save. Check the _Problems_ tab for lint issues. Test cases will be automatically discovered in the _Testing_ tab. You can run all the tests or start debugging from here.
45
51
46
-
Alternatively, you can open the project in [Codespaces](https://github.com/features/codespaces) directly from GitHub. This will provide an identical Dev Container, but through VSCode on the browser. This is the fastest method to get your development environment up and running. However, the web editor is not as smooth as the native one.
47
-
48
52
If running locally instead, you will need Python3 with [hatch](https://github.com/pypa/hatch) (`pip install hatch`). In this scenario, it might be worthwhile to do the point VSCode to the Python interpreter of the dev environment in the project (`hatch run dev:python -c "import sys;print(sys.executable)"`).
Check out the example app code to get accustomed to the setup. You will need to change any name that starts with “my”, like _my description_.
95
99
96
-
## Continuous integration
100
+
## 🤖Continuous integration
97
101
98
102
There is a robust CI pipeline already setup. It contains the following jobs.
99
103
@@ -103,17 +107,17 @@ There is a robust CI pipeline already setup. It contains the following jobs.
103
107
104
108
Make sure your integration flow includes pull requests. Merge PRs only when the CI is successful, and you will have a good integration setup. Commit to main directly, and you will become a sad developer.
105
109
106
-
## Dependency management
110
+
## 📦Dependency management
107
111
108
112
All dependencies are pinned to a specific version. Dependabot will send occasional pull requests to update dependencies to available versions. Merge them only when CI is passing.
109
113
110
114
This is not a strict implementation of reproducible builds, since indirect dependencies are not locked to specific versions. If an indirect dependency has a new version that is incompatible with our app, it might break our integration. This will be remedied with a lock file once _hatch_ supports locking dependencies.
111
115
112
-
## Questions, Feedback, and Contributions
116
+
## 👋Help and contributions
113
117
114
118
I hope you will find this template useful. You can create an issue if you have a question, or if something is not working right for you. PRs are welcome if you would like to fix or add anything.
115
119
116
-
## Final thoughts and todos
120
+
## 🚩Roadmap
117
121
118
122
The project scaffolds a basic CLI application. You can build upon this for your own, or you can also strip the CLI parts altogether to build a different type of Python package. Actual templatign a la [Cookiecuter](https://www.cookiecutter.io/) could be useful.
0 commit comments