Skip to content

Commit 308272b

Browse files
committed
Initial commit
0 parents  commit 308272b

30 files changed

+4565
-0
lines changed

.coveragerc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[run]
2+
source = app
3+
omit =
4+
tests/*

.cruft.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"template": "/home/maxime/Projets/tmp/../hyperflask/hyperflask-start",
3+
"commit": "1fbc822a174ca0dc2881ef56b1529c30cb84be94",
4+
"checkout": null,
5+
"context": {
6+
"cookiecutter": {
7+
"project_name": "Hyperflask Getting Started App",
8+
"project_slug": "hyperflask_app",
9+
"description": "Web app created using Hyperflask",
10+
"domain_name": "example.com",
11+
"email": "[email protected]",
12+
"version": "0.1.0",
13+
"_template": "/home/maxime/Projets/tmp/../hyperflask/hyperflask-start",
14+
"_commit": "1fbc822a174ca0dc2881ef56b1529c30cb84be94"
15+
}
16+
},
17+
"directory": null
18+
}

.devcontainer/Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM nikolaik/python-nodejs:python3.13-nodejs24
2+
3+
# Configure apt
4+
ENV DEBIAN_FRONTEND=noninteractive
5+
RUN apt-get update \
6+
&& apt-get -y install --no-install-recommends apt-utils 2>&1
7+
8+
# Install git, process tools, lsb-release (common in install instructions for CLIs)
9+
RUN apt-get -y install git procps lsb-release
10+
11+
# Install any missing dependencies for enhanced language service
12+
RUN apt-get install -y libicu[0-9][0-9]
13+
14+
RUN mkdir /workspace
15+
WORKDIR /workspace
16+
RUN pip install -U setuptools wheel pip
17+
18+
# Set the default shell to bash rather than sh
19+
ENV SHELL /bin/bash
20+
ENV DEBIAN_FRONTEND=

.devcontainer/devcontainer.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"name": "Hyperflask Getting Started App",
3+
"dockerComposeFile": "docker-compose.yml",
4+
"service": "app",
5+
"forwardPorts": [5000, 7878, 8025],
6+
"workspaceFolder": "/workspace",
7+
"postCreateCommand": "uv sync && npm install",
8+
"features": {
9+
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
10+
},
11+
"customizations": {
12+
"vscode": {
13+
"extensions": [
14+
"ms-python.python",
15+
"ms-python.vscode-pylance",
16+
"VisualStudioExptTeam.vscodeintellicode",
17+
"hyperflask.jinjapy-language-support",
18+
"hyperflask.sqlorm-language-support"
19+
],
20+
"settings": {
21+
"python.defaultInterpreterPath": "/usr/local/bin/python",
22+
"python.testing.pytestEnabled": true
23+
}
24+
},
25+
"remoteUser": "vscode"
26+
}
27+
}

.devcontainer/docker-compose.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
services:
2+
app:
3+
build:
4+
context: ..
5+
dockerfile: .devcontainer/Dockerfile
6+
volumes:
7+
- ..:/workspace
8+
command: sleep infinity
9+
environment:
10+
FLASK_MAIL_BACKEND: smtp
11+
FLASK_MAIL_SERVER: mailpit
12+
FLASK_MAIL_PORT: 1025
13+
# FLASK_DRAMATIQ_BROKER_URL: redis://valkey:6379/0
14+
# FLASK_SQLORM_DATABASE_URI: postgresql://user:password@postgres:5432/user
15+
# depends_on:
16+
# - postgres
17+
# - valkey
18+
19+
mailpit: # email testing tool
20+
image: axllent/mailpit
21+
22+
# --------------------
23+
# REDIS INTEGRATION (for queueing, caching, etc.)
24+
# --------------------
25+
26+
# valkey:
27+
# image: valkey/valkey
28+
29+
# --------------------
30+
# POSTGRESQL INTEGRATION
31+
# --------------------
32+
33+
# postgres:
34+
# image: postgres
35+
# environment:
36+
# POSTGRES_USER: user
37+
# POSTGRES_PASSWORD: password
38+
# volumes:
39+
# - pgdata:/var/lib/postgresql/data
40+
41+
# volumes:
42+
# pgdata: {}

.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.editorconfig
2+
.github
3+
.gitignore
4+
.venv
5+
.git
6+
.devcontainer

.editorconfig

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# http://editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
charset = utf-8
7+
end_of_line = lf
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.{py,rst,ini}]
12+
indent_style = space
13+
indent_size = 4
14+
15+
[*.{html,css,scss,json,yml,xml}]
16+
indent_style = space
17+
indent_size = 2
18+
19+
[*.md]
20+
trim_trailing_whitespace = false
21+
22+
[Makefile]
23+
indent_style = tab
24+
25+
[default.conf]
26+
indent_style = space
27+
indent_size = 2

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
FLASK_SECRET_KEY='ze@w!xqo##7-y3@+)$h8m4@@5jd-$hwb)i4^39kv0i2sl2vt#s'

.github/workflows/python.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Python package
2+
3+
on: [push]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- uses: actions/setup-python@v5
11+
with:
12+
python-version: "3.10"
13+
- name: Install dependencies
14+
run: |
15+
python -m pip install --upgrade pip setuptools wheel poetry
16+
poetry install
17+
- name: Test with pytest
18+
run: poetry run pytest tests
19+
- name: Lint with Ruff
20+
run: "poetry run ruff check || echo '::warning ::Linting failed'"

.gitignore

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
### Python template
2+
# Byte-compiled / optimized / DLL files
3+
__pycache__/
4+
*.py[cod]
5+
*$py.class
6+
7+
# C extensions
8+
*.so
9+
10+
# PyInstaller
11+
# Usually these files are written by a python script from a template
12+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
13+
*.manifest
14+
*.spec
15+
16+
# Installer logs
17+
pip-log.txt
18+
pip-delete-this-directory.txt
19+
20+
# Unit test / coverage reports
21+
htmlcov/
22+
.tox/
23+
.coverage
24+
.coverage.*
25+
.cache
26+
nosetests.xml
27+
coverage.xml
28+
*.cover
29+
.hypothesis/
30+
31+
# pyenv
32+
.python-version
33+
/venv
34+
/_site
35+
node_modules/
36+
37+
# Optional npm cache directory
38+
.npm
39+
40+
# Optional eslint cache
41+
.eslintcache
42+
43+
# Optional REPL history
44+
.node_repl_history
45+
46+
### Linux template
47+
*~
48+
49+
# temporary files which can be created if a process still has a handle open of a deleted file
50+
.fuse_hidden*
51+
52+
# KDE directory preferences
53+
.directory
54+
55+
# Linux trash folder which might appear on any partition or disk
56+
.Trash-*
57+
58+
# .nfs files are created when an open file is removed but is still being accessed
59+
.nfs*
60+
61+
62+
### VisualStudioCode template
63+
.vscode/*
64+
!.vscode/settings.json
65+
!.vscode/tasks.json
66+
!.vscode/launch.json
67+
!.vscode/extensions.json
68+
*.code-workspace
69+
70+
### Windows template
71+
# Windows thumbnail cache files
72+
Thumbs.db
73+
ehthumbs.db
74+
ehthumbs_vista.db
75+
76+
# Dump file
77+
*.stackdump
78+
79+
# Folder config file
80+
Desktop.ini
81+
82+
# Recycle Bin used on file shares
83+
$RECYCLE.BIN/
84+
85+
# Windows Installer files
86+
*.cab
87+
*.msi
88+
*.msm
89+
*.msp
90+
91+
# Windows shortcuts
92+
*.lnk
93+
94+
95+
### macOS template
96+
# General
97+
*.DS_Store
98+
.AppleDouble
99+
.LSOverride
100+
101+
# Icon must end with two \r
102+
Icon
103+
104+
# Thumbnails
105+
._*
106+
107+
# Files that might appear in the root of a volume
108+
.DocumentRevisions-V100
109+
.fseventsd
110+
.Spotlight-V100
111+
.TemporaryItems
112+
.Trashes
113+
.VolumeIcon.icns
114+
.com.apple.timemachine.donotpresent
115+
116+
# Directories potentially created on remote AFP share
117+
.AppleDB
118+
.AppleDesktop
119+
Network Trash Folder
120+
Temporary Items
121+
.apdisk
122+
123+
# Hyperflask specific
124+
/app/assets/main.css.expanded.css
125+
/app/assets.json
126+
/public/dist
127+
/public/bootstrap-icons
128+
/database

0 commit comments

Comments
 (0)