Skip to content

Commit 9d291c8

Browse files
feat: Add Makefile for development setup and installation instructions
1 parent 71e244c commit 9d291c8

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
POETRY_VERSION ?= 2.0.1
2+
3+
.PHONY: install-pip
4+
install-pip:
5+
python -m pip install --upgrade pip
6+
7+
.PHONY: install-poetry
8+
install-poetry:
9+
curl -sSL https://install.python-poetry.org | python3 - --version ${POETRY_VERSION}
10+
11+
.PHONY: install-packages
12+
install-packages:
13+
poetry install --no-root $(opts)
14+
15+
.PHONY: install
16+
install: install-pip install-poetry install-packages
17+
18+
.PHONY: lint
19+
lint:
20+
poetry run pre-commit run -a

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,48 @@
11
# flagsmith-common
22
A repository for including code that is required in multiple flagsmith repositories
3+
4+
### Development Setup
5+
6+
This project uses [Poetry](https://python-poetry.org/) for dependency management and includes a Makefile to simplify common development tasks.
7+
8+
#### Prerequisites
9+
10+
- Python >= 3.8
11+
- Make
12+
13+
#### Installation
14+
15+
You can set up your development environment using the provided Makefile:
16+
17+
```bash
18+
# Install everything (pip, poetry, and project dependencies)
19+
make install
20+
21+
# Individual installation steps are also available
22+
make install-pip # Upgrade pip
23+
make install-poetry # Install Poetry
24+
make install-packages # Install project dependencies
25+
```
26+
27+
By default, Poetry version 2.0.1 will be installed. You can specify a different version:
28+
29+
```bash
30+
make install-poetry POETRY_VERSION=2.1.0
31+
```
32+
33+
#### Development
34+
35+
Run linting checks using pre-commit:
36+
37+
```bash
38+
make lint
39+
```
40+
41+
Additional options can be passed to the `install-packages` target:
42+
43+
```bash
44+
# Install with development dependencies
45+
make install-packages opts="--with dev"
46+
47+
# Install with specific extras
48+
make install-packages opts="--extras 'feature1 feature2'"

0 commit comments

Comments
 (0)