Skip to content
This repository was archived by the owner on Jun 4, 2025. It is now read-only.

Commit b8368f1

Browse files
committed
Initial commit
0 parents  commit b8368f1

File tree

21 files changed

+2627
-0
lines changed

21 files changed

+2627
-0
lines changed

.github/workflows/publish.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Publish Python Package
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*.*.*"
7+
8+
jobs:
9+
test:
10+
name: Run tests
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v2
15+
- name: Set up Python
16+
uses: actions/setup-python@v2
17+
with:
18+
python-version: '3.9'
19+
- name: Install test dependencies
20+
uses: BSFishy/pip-action@v1
21+
with:
22+
packages: |
23+
black
24+
isort
25+
- name: Check code with black
26+
run: black --check .
27+
- name: Check code with isort
28+
run: isort --profile black . --check-only
29+
30+
deploy:
31+
name: Deploy to PyPI
32+
runs-on: ubuntu-latest
33+
needs:
34+
- test
35+
steps:
36+
- name: Checkout repository
37+
uses: actions/checkout@v2
38+
39+
- name: Set up Python
40+
uses: actions/setup-python@v2
41+
with:
42+
python-version: '3.x'
43+
44+
- name: Install publish dependencies
45+
uses: BSFishy/pip-action@v1
46+
with:
47+
packages: |
48+
poetry
49+
50+
- name: Build and publish
51+
env:
52+
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
53+
run: |
54+
poetry install
55+
poetry build
56+
poetry config pypi-token.pypi $PYPI_TOKEN
57+
poetry publish
58+
59+
- name: Get release info
60+
id: release
61+
uses: abatilo/[email protected]
62+
with:
63+
owner: szkolny-eu
64+
repo: timetables-parser-edupage
65+
66+
- name: Read version name
67+
id: version
68+
run: echo "::set-output name=version::${{ steps.release.outputs.latest_tag }}" | sed 's/::v/::/'
69+
70+
- name: Upload workflow artifact
71+
uses: actions/upload-artifact@v2
72+
with:
73+
name: timetables-lib-${{ steps.release.outputs.latest_tag }}
74+
path: |
75+
dist/*.whl
76+
dist/*.tar.gz
77+
78+
- name: Upload GitHub release asset
79+
uses: softprops/action-gh-release@v1
80+
with:
81+
files: |
82+
dist/*.whl
83+
dist/*.tar.gz

.github/workflows/test.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Run tests
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
test:
9+
name: Run tests
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout repository
13+
uses: actions/checkout@v2
14+
- name: Set up Python
15+
uses: actions/setup-python@v2
16+
with:
17+
python-version: '3.9'
18+
- name: Install test dependencies
19+
uses: BSFishy/pip-action@v1
20+
with:
21+
packages: |
22+
black
23+
isort
24+
- name: Check code with black
25+
run: black --check .
26+
- name: Check code with isort
27+
run: isort --profile black . --check-only

.gitignore

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
2+
# Created by https://www.toptal.com/developers/gitignore/api/python,intellij+all
3+
# Edit at https://www.toptal.com/developers/gitignore?templates=python,intellij+all
4+
5+
### Intellij+all ###
6+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
7+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
8+
9+
# User-specific stuff
10+
.idea/**/workspace.xml
11+
.idea/**/tasks.xml
12+
.idea/**/usage.statistics.xml
13+
.idea/**/dictionaries
14+
.idea/**/shelf
15+
16+
# AWS User-specific
17+
.idea/**/aws.xml
18+
19+
# Generated files
20+
.idea/**/contentModel.xml
21+
22+
# Sensitive or high-churn files
23+
.idea/**/dataSources/
24+
.idea/**/dataSources.ids
25+
.idea/**/dataSources.local.xml
26+
.idea/**/sqlDataSources.xml
27+
.idea/**/dynamic.xml
28+
.idea/**/uiDesigner.xml
29+
.idea/**/dbnavigator.xml
30+
31+
# Gradle
32+
.idea/**/gradle.xml
33+
.idea/**/libraries
34+
35+
# Gradle and Maven with auto-import
36+
# When using Gradle or Maven with auto-import, you should exclude module files,
37+
# since they will be recreated, and may cause churn. Uncomment if using
38+
# auto-import.
39+
# .idea/artifacts
40+
# .idea/compiler.xml
41+
# .idea/jarRepositories.xml
42+
# .idea/modules.xml
43+
# .idea/*.iml
44+
# .idea/modules
45+
# *.iml
46+
# *.ipr
47+
48+
# CMake
49+
cmake-build-*/
50+
51+
# Mongo Explorer plugin
52+
.idea/**/mongoSettings.xml
53+
54+
# File-based project format
55+
*.iws
56+
57+
# IntelliJ
58+
out/
59+
60+
# mpeltonen/sbt-idea plugin
61+
.idea_modules/
62+
63+
# JIRA plugin
64+
atlassian-ide-plugin.xml
65+
66+
# Cursive Clojure plugin
67+
.idea/replstate.xml
68+
69+
# Crashlytics plugin (for Android Studio and IntelliJ)
70+
com_crashlytics_export_strings.xml
71+
crashlytics.properties
72+
crashlytics-build.properties
73+
fabric.properties
74+
75+
# Editor-based Rest Client
76+
.idea/httpRequests
77+
78+
# Android studio 3.1+ serialized cache file
79+
.idea/caches/build_file_checksums.ser
80+
81+
### Intellij+all Patch ###
82+
# Ignores the whole .idea folder and all .iml files
83+
# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
84+
85+
.idea/
86+
87+
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
88+
89+
*.iml
90+
modules.xml
91+
.idea/misc.xml
92+
*.ipr
93+
94+
# Sonarlint plugin
95+
.idea/sonarlint
96+
97+
### Python ###
98+
# Byte-compiled / optimized / DLL files
99+
__pycache__/
100+
*.py[cod]
101+
*$py.class
102+
103+
# C extensions
104+
*.so
105+
106+
# Distribution / packaging
107+
.Python
108+
build/
109+
develop-eggs/
110+
dist/
111+
downloads/
112+
eggs/
113+
.eggs/
114+
lib/
115+
lib64/
116+
parts/
117+
sdist/
118+
var/
119+
wheels/
120+
share/python-wheels/
121+
*.egg-info/
122+
.installed.cfg
123+
*.egg
124+
MANIFEST
125+
126+
# PyInstaller
127+
# Usually these files are written by a python script from a template
128+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
129+
*.manifest
130+
*.spec
131+
132+
# Installer logs
133+
pip-log.txt
134+
pip-delete-this-directory.txt
135+
136+
# Unit test / coverage reports
137+
htmlcov/
138+
.tox/
139+
.nox/
140+
.coverage
141+
.coverage.*
142+
.cache
143+
nosetests.xml
144+
coverage.xml
145+
*.cover
146+
*.py,cover
147+
.hypothesis/
148+
.pytest_cache/
149+
cover/
150+
151+
# Translations
152+
*.mo
153+
*.pot
154+
155+
# Django stuff:
156+
*.log
157+
local_settings.py
158+
db.sqlite3
159+
db.sqlite3-journal
160+
161+
# Flask stuff:
162+
instance/
163+
.webassets-cache
164+
165+
# Scrapy stuff:
166+
.scrapy
167+
168+
# Sphinx documentation
169+
docs/_build/
170+
171+
# PyBuilder
172+
.pybuilder/
173+
target/
174+
175+
# Jupyter Notebook
176+
.ipynb_checkpoints
177+
178+
# IPython
179+
profile_default/
180+
ipython_config.py
181+
182+
# pyenv
183+
# For a library or package, you might want to ignore these files since the code is
184+
# intended to run in multiple environments; otherwise, check them in:
185+
# .python-version
186+
187+
# pipenv
188+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
189+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
190+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
191+
# install all needed dependencies.
192+
#Pipfile.lock
193+
194+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
195+
__pypackages__/
196+
197+
# Celery stuff
198+
celerybeat-schedule
199+
celerybeat.pid
200+
201+
# SageMath parsed files
202+
*.sage.py
203+
204+
# Environments
205+
.env
206+
.venv
207+
env/
208+
venv/
209+
ENV/
210+
env.bak/
211+
venv.bak/
212+
213+
# Spyder project settings
214+
.spyderproject
215+
.spyproject
216+
217+
# Rope project settings
218+
.ropeproject
219+
220+
# mkdocs documentation
221+
/site
222+
223+
# mypy
224+
.mypy_cache/
225+
.dmypy.json
226+
dmypy.json
227+
228+
# Pyre type checker
229+
.pyre/
230+
231+
# pytype static type analyzer
232+
.pytype/
233+
234+
# Cython debug symbols
235+
cython_debug/
236+
237+
# End of https://www.toptal.com/developers/gitignore/api/python,intellij+all
238+
239+
*.zip
240+
*.json

0 commit comments

Comments
 (0)