Skip to content

Commit efcb002

Browse files
committed
Restarting this project
0 parents  commit efcb002

33 files changed

+4976
-0
lines changed

.editorconfig

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# http://editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
indent_style = space
7+
indent_size = 4
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true
10+
charset = utf-8
11+
end_of_line = lf
12+
13+
[*.bat]
14+
indent_style = tab
15+
end_of_line = crlf
16+
17+
[LICENSE]
18+
insert_final_newline = false
19+
20+
[Makefile]
21+
indent_style = tab

.github/ISSUE_TEMPLATE.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
* KePost version:
2+
* Python version:
3+
* Operating System:
4+
5+
### Description
6+
7+
Describe what you were trying to get done.
8+
Tell us what happened, what went wrong, and what you expected to happen.
9+
10+
### What I Did
11+
12+
```
13+
Paste the command(s) you ran and the output.
14+
If there was a crash, please include the traceback here.
15+
```

.github/workflows/github-actions.yml

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: build
2+
on: [push, pull_request]
3+
jobs:
4+
test:
5+
name: ${{ matrix.name }}
6+
runs-on: ${{ matrix.os }}
7+
timeout-minutes: 30
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
include:
12+
- name: "check"
13+
python: "3.11"
14+
toxpython: "python3.11"
15+
tox_env: "check"
16+
os: "ubuntu-latest"
17+
- name: "docs"
18+
python: "3.11"
19+
toxpython: "python3.11"
20+
tox_env: "docs"
21+
os: "ubuntu-latest"
22+
- name: "py310 (ubuntu)"
23+
python: "3.10"
24+
toxpython: "python3.10"
25+
python_arch: "x64"
26+
tox_env: "py310"
27+
os: "ubuntu-latest"
28+
steps:
29+
- uses: actions/checkout@v4
30+
with:
31+
fetch-depth: 0
32+
- uses: actions/setup-python@v5
33+
with:
34+
python-version: ${{ matrix.python }}
35+
architecture: ${{ matrix.python_arch }}
36+
- name: install dependencies
37+
run: |
38+
python -mpip install --progress-bar=off .
39+
pip --version
40+
tox --version
41+
pip list --format=freeze
42+
- name: test
43+
env:
44+
TOXPYTHON: "${{ matrix.toxpython }}"
45+
run: >
46+
tox -e ${{ matrix.tox_env }} -v
47+
48+
upload-coverage:
49+
name: Upload coverage reports to Code Climate
50+
runs-on: ubuntu-latest
51+
needs: test
52+
if: ${{ always() }}
53+
steps:
54+
- name: Checkout repository
55+
uses: actions/checkout@v4
56+
57+
- name: Set up Python
58+
uses: actions/setup-python@v5
59+
with:
60+
python-version: '3.10'
61+
62+
- name: Install dependencies
63+
run: |
64+
python -m pip install --upgrade pip
65+
pip install pytest pytest-cov codeclimate-test-reporter
66+
pip install . # Install your package
67+
68+
- name: Set PYTHONPATH
69+
run: |
70+
echo "PYTHONPATH=$(pwd)/src" >> $GITHUB_ENV
71+
72+
- name: Verify directory structure
73+
run: |
74+
echo "Verifying directory structure:"
75+
ls -R src/kepost
76+
77+
- name: Display .coveragerc
78+
run: |
79+
echo "Displaying .coveragerc content:"
80+
cat .coveragerc
81+
82+
- name: Run tests and collect coverage
83+
run: |
84+
mkdir -p reports
85+
pytest --cov-report term-missing:skip-covered --cov-report xml:reports/coverage.xml --cov-report html:reports/htmlcov --cov=src/kepost --cov-branch tests/ --verbose
86+
87+
- name: Check coverage file
88+
run: |
89+
echo "Checking coverage file:"
90+
cat reports/coverage.xml
91+
92+
- name: Upload coverage to Codecov
93+
uses: codecov/codecov-action@v4.2.0
94+
with:
95+
token: ${{ secrets.CODECOV_TOKEN }}
96+
file: reports/coverage.xml
97+
name: codecov-umbrella
98+
fail_ci_if_error: true
99+
100+
- name: Upload coverage to Code Climate
101+
uses: paambaati/codeclimate-action@v8.0.0
102+
env:
103+
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}

.gitignore

+110
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
env/
12+
build/
13+
develop-eggs/
14+
dist/
15+
downloads/
16+
eggs/
17+
.eggs/
18+
lib/
19+
lib64/
20+
parts/
21+
sdist/
22+
var/
23+
wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
28+
# PyInstaller
29+
# Usually these files are written by a python script from a template
30+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
31+
*.manifest
32+
*.spec
33+
34+
# Installer logs
35+
pip-log.txt
36+
pip-delete-this-directory.txt
37+
38+
# Unit test / coverage reports
39+
htmlcov/
40+
.tox/
41+
.coverage
42+
.coverage.*
43+
.cache
44+
nosetests.xml
45+
coverage.xml
46+
*.cover
47+
.hypothesis/
48+
.pytest_cache/
49+
50+
# Translations
51+
*.mo
52+
*.pot
53+
54+
# Django stuff:
55+
*.log
56+
local_settings.py
57+
58+
# Flask stuff:
59+
instance/
60+
.webassets-cache
61+
62+
# Scrapy stuff:
63+
.scrapy
64+
65+
# Sphinx documentation
66+
docs/_build/
67+
68+
# PyBuilder
69+
target/
70+
71+
# Jupyter Notebook
72+
.ipynb_checkpoints
73+
74+
# Dask worker cache
75+
dask-worker-space/
76+
77+
# pyenv
78+
.python-version
79+
80+
# celery beat schedule file
81+
celerybeat-schedule
82+
83+
# SageMath parsed files
84+
*.sage.py
85+
86+
# dotenv
87+
.env
88+
89+
# virtualenv
90+
.venv
91+
venv/
92+
ENV/
93+
94+
# Spyder project settings
95+
.spyderproject
96+
.spyproject
97+
98+
# Rope project settings
99+
.ropeproject
100+
101+
# mkdocs documentation
102+
/site
103+
104+
# mypy
105+
.mypy_cache/
106+
107+
# IDE settings
108+
.vscode/
109+
.idea/
110+

.travis.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Config file for automatic testing at travis-ci.com
2+
3+
language: python
4+
python:
5+
- 3.11
6+
- 3.10
7+
- 3.9
8+
9+
# Command to install dependencies, e.g. pip install -r requirements.txt --use-mirrors
10+
install: pip install -U tox-travis
11+
12+
# Command to run tests, e.g. python setup.py test
13+
script: tox
14+
15+
# Assuming you have installed the travis-ci CLI tool, after you
16+
# create the Github repo and add it to Travis, run the
17+
# following command to finish PyPI deployment setup:
18+
# $ travis encrypt --add deploy.password
19+
deploy:
20+
provider: pypi
21+
distributions: sdist bdist_wheel
22+
user: GalKepler
23+
password:
24+
secure: PLEASE_REPLACE_ME
25+
on:
26+
tags: true
27+
repo: GalKepler/kepost
28+
python: 3.11

AUTHORS.rst

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
=======
2+
Credits
3+
=======
4+
5+
Development Lead
6+
----------------
7+
8+
* Gal Kepler <galkepler@gmail.com>
9+
10+
Contributors
11+
------------
12+
13+
None yet. Why not be the first?

CODE_OF_CONDUCT.rst

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
====================================
2+
Contributor Covenant Code of Conduct
3+
====================================
4+
5+
Our Pledge
6+
----------
7+
8+
In the interest of fostering an open and welcoming environment, we as
9+
contributors and maintainers pledge to make participation in our project and
10+
our community a harassment-free experience for everyone, regardless of age, body
11+
size, disability, ethnicity, sex characteristics, gender identity and expression,
12+
level of experience, education, socio-economic status, nationality, personal
13+
appearance, race, religion, or sexual identity and orientation.
14+
15+
Our Standards
16+
-------------
17+
18+
Examples of behavior that contributes to creating a positive environment
19+
include:
20+
21+
* Using welcoming and inclusive language
22+
* Being respectful of differing viewpoints and experiences
23+
* Gracefully accepting constructive criticism
24+
* Focusing on what is best for the community
25+
* Showing empathy towards other community members
26+
27+
Examples of unacceptable behavior by participants include:
28+
29+
* The use of sexualized language or imagery and unwelcome sexual attention or
30+
advances
31+
* Trolling, insulting/derogatory comments, and personal or political attacks
32+
* Public or private harassment
33+
* Publishing others' private information, such as a physical or electronic
34+
address, without explicit permission
35+
* Other conduct which could reasonably be considered inappropriate in a
36+
professional setting
37+
38+
Our Responsibilities
39+
--------------------
40+
41+
Project maintainers are responsible for clarifying the standards of acceptable
42+
behavior and are expected to take appropriate and fair corrective action in
43+
response to any instances of unacceptable behavior.
44+
45+
Project maintainers have the right and responsibility to remove, edit, or
46+
reject comments, commits, code, wiki edits, issues, and other contributions
47+
that are not aligned to this Code of Conduct, or to ban temporarily or
48+
permanently any contributor for other behaviors that they deem inappropriate,
49+
threatening, offensive, or harmful.
50+
51+
Scope
52+
-----
53+
54+
This Code of Conduct applies within all project spaces, and it also applies when
55+
an individual is representing the project or its community in public spaces.
56+
Examples of representing a project or community include using an official
57+
project e-mail address, posting via an official social media account, or acting
58+
as an appointed representative at an online or offline event. Representation of
59+
a project may be further defined and clarified by project maintainers.
60+
61+
Enforcement
62+
-----------
63+
64+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
65+
reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
66+
complaints will be reviewed and investigated and will result in a response that
67+
is deemed necessary and appropriate to the circumstances. The project team is
68+
obligated to maintain confidentiality with regard to the reporter of an incident.
69+
Further details of specific enforcement policies may be posted separately.
70+
71+
Project maintainers who do not follow or enforce the Code of Conduct in good
72+
faith may face temporary or permanent repercussions as determined by other
73+
members of the project's leadership.
74+
75+
Attribution
76+
-----------
77+
78+
This Code of Conduct is adapted from the `Contributor Covenant`_, version 1.4,
79+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
80+
81+
For answers to common questions about this code of conduct, see
82+
https://www.contributor-covenant.org/faq
83+
84+
.. _`Contributor Covenant`: https://www.contributor-covenant.org

0 commit comments

Comments
 (0)