FourCIPP 0.28.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fourcipp-0.28.0/.coveragerc +2 -0
- fourcipp-0.28.0/.github/workflows/check_code.yaml +42 -0
- fourcipp-0.28.0/.github/workflows/publish_pypi.yaml +35 -0
- fourcipp-0.28.0/.github/workflows/run_testsuite.yaml +79 -0
- fourcipp-0.28.0/.github/workflows/tag_version.yaml +65 -0
- fourcipp-0.28.0/.github/workflows/update_4C_metadata_schema_file.yaml +90 -0
- fourcipp-0.28.0/.gitignore +323 -0
- fourcipp-0.28.0/.pre-commit-config.yaml +107 -0
- fourcipp-0.28.0/LICENSE +21 -0
- fourcipp-0.28.0/PKG-INFO +171 -0
- fourcipp-0.28.0/README.md +129 -0
- fourcipp-0.28.0/docs/assets/fourcipp_logo_black.svg +6 -0
- fourcipp-0.28.0/pyproject.toml +41 -0
- fourcipp-0.28.0/requirements.in +6 -0
- fourcipp-0.28.0/requirements.txt +42 -0
- fourcipp-0.28.0/setup.cfg +4 -0
- fourcipp-0.28.0/src/FourCIPP.egg-info/PKG-INFO +171 -0
- fourcipp-0.28.0/src/FourCIPP.egg-info/SOURCES.txt +62 -0
- fourcipp-0.28.0/src/FourCIPP.egg-info/dependency_links.txt +1 -0
- fourcipp-0.28.0/src/FourCIPP.egg-info/entry_points.txt +2 -0
- fourcipp-0.28.0/src/FourCIPP.egg-info/requires.txt +12 -0
- fourcipp-0.28.0/src/FourCIPP.egg-info/top_level.txt +1 -0
- fourcipp-0.28.0/src/fourcipp/__init__.py +34 -0
- fourcipp-0.28.0/src/fourcipp/config/4C_metadata.yaml +211964 -0
- fourcipp-0.28.0/src/fourcipp/config/4C_schema.json +393521 -0
- fourcipp-0.28.0/src/fourcipp/config/config.yaml +12 -0
- fourcipp-0.28.0/src/fourcipp/fourc_input.py +603 -0
- fourcipp-0.28.0/src/fourcipp/legacy_io/__init__.py +162 -0
- fourcipp-0.28.0/src/fourcipp/legacy_io/element.py +135 -0
- fourcipp-0.28.0/src/fourcipp/legacy_io/inline_dat.py +212 -0
- fourcipp-0.28.0/src/fourcipp/legacy_io/node.py +114 -0
- fourcipp-0.28.0/src/fourcipp/legacy_io/node_topology.py +194 -0
- fourcipp-0.28.0/src/fourcipp/legacy_io/particle.py +71 -0
- fourcipp-0.28.0/src/fourcipp/utils/__init__.py +22 -0
- fourcipp-0.28.0/src/fourcipp/utils/cli.py +128 -0
- fourcipp-0.28.0/src/fourcipp/utils/configuration.py +180 -0
- fourcipp-0.28.0/src/fourcipp/utils/converter.py +138 -0
- fourcipp-0.28.0/src/fourcipp/utils/dict_utils.py +375 -0
- fourcipp-0.28.0/src/fourcipp/utils/metadata.py +32 -0
- fourcipp-0.28.0/src/fourcipp/utils/not_set.py +64 -0
- fourcipp-0.28.0/src/fourcipp/utils/typing.py +39 -0
- fourcipp-0.28.0/src/fourcipp/utils/validation.py +155 -0
- fourcipp-0.28.0/src/fourcipp/utils/yaml_io.py +101 -0
- fourcipp-0.28.0/src/fourcipp/version.py +34 -0
- fourcipp-0.28.0/tests/__init__.py +22 -0
- fourcipp-0.28.0/tests/conftest.py +74 -0
- fourcipp-0.28.0/tests/fourcipp/__init__.py +22 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/__init__.py +22 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/test_element.py +88 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/test_inline_dat.py +64 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/test_legacy_io.py +37 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/test_node.py +53 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/test_node_topology.py +64 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/test_particle.py +47 -0
- fourcipp-0.28.0/tests/fourcipp/legacy_io/utils.py +86 -0
- fourcipp-0.28.0/tests/fourcipp/test_fourc_input.py +647 -0
- fourcipp-0.28.0/tests/fourcipp/test_readme_quickstart_example.py +69 -0
- fourcipp-0.28.0/tests/fourcipp/utils/__init__.py +22 -0
- fourcipp-0.28.0/tests/fourcipp/utils/test_configuration.py +32 -0
- fourcipp-0.28.0/tests/fourcipp/utils/test_converter.py +110 -0
- fourcipp-0.28.0/tests/fourcipp/utils/test_dict_utils.py +666 -0
- fourcipp-0.28.0/tests/fourcipp/utils/test_not_set.py +44 -0
- fourcipp-0.28.0/tests/fourcipp/utils/test_validation.py +40 -0
- fourcipp-0.28.0/tests/fourcipp/utils/test_yaml_io.py +42 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: Code quality
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
types:
|
|
9
|
+
- opened
|
|
10
|
+
- reopened
|
|
11
|
+
- synchronize
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
fourcipp-code-check:
|
|
15
|
+
name: Code check
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout repository
|
|
20
|
+
uses: actions/checkout@v3
|
|
21
|
+
- name: Set up virtual environment
|
|
22
|
+
uses: conda-incubator/setup-miniconda@v3
|
|
23
|
+
with:
|
|
24
|
+
auto-update-conda: true
|
|
25
|
+
conda-remove-defaults: true
|
|
26
|
+
activate-environment: fourcipp
|
|
27
|
+
python-version: 3.12
|
|
28
|
+
- name: Install requirements
|
|
29
|
+
shell: bash -el {0}
|
|
30
|
+
run: |
|
|
31
|
+
conda activate fourcipp
|
|
32
|
+
pip install -e .[dev,safe]
|
|
33
|
+
pip install pre-commit
|
|
34
|
+
- name: Run code-checks
|
|
35
|
+
shell: bash -el {0}
|
|
36
|
+
run: |
|
|
37
|
+
conda activate fourcipp
|
|
38
|
+
if [ "${GITHUB_REF}" = "refs/heads/main" ]; then
|
|
39
|
+
SKIP=no-commit-to-branch pre-commit run --all-files
|
|
40
|
+
else
|
|
41
|
+
pre-commit run --all-files
|
|
42
|
+
fi
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Build and upload to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
# Build and publish wheel for each new version of FourCIPP
|
|
7
|
+
- "v[0-9]*.[0-9]*.[0-9]*"
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build_dist:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v5
|
|
14
|
+
|
|
15
|
+
- name: Build sdist and wheel
|
|
16
|
+
run: pipx run build
|
|
17
|
+
|
|
18
|
+
- uses: actions/upload-artifact@v4
|
|
19
|
+
with:
|
|
20
|
+
name: dist
|
|
21
|
+
path: dist/*
|
|
22
|
+
|
|
23
|
+
upload_pypi:
|
|
24
|
+
needs: build_dist
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
environment: pypi
|
|
27
|
+
permissions:
|
|
28
|
+
id-token: write
|
|
29
|
+
steps:
|
|
30
|
+
- uses: actions/download-artifact@v5
|
|
31
|
+
with:
|
|
32
|
+
name: dist
|
|
33
|
+
path: dist
|
|
34
|
+
|
|
35
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
name: Testsuite
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
types:
|
|
9
|
+
- opened
|
|
10
|
+
- reopened
|
|
11
|
+
- synchronize
|
|
12
|
+
schedule:
|
|
13
|
+
- cron: "30 5 * * *" # Run after metadata file update
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
run_pytest:
|
|
17
|
+
runs-on: ${{ matrix.os }}
|
|
18
|
+
strategy:
|
|
19
|
+
fail-fast: false
|
|
20
|
+
matrix:
|
|
21
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
22
|
+
python-version: ["3.10", "3.13"]
|
|
23
|
+
defaults:
|
|
24
|
+
run:
|
|
25
|
+
shell: bash -l {0}
|
|
26
|
+
steps:
|
|
27
|
+
- name: Checkout repository
|
|
28
|
+
uses: actions/checkout@v3
|
|
29
|
+
- name: Set up virtual environment
|
|
30
|
+
uses: conda-incubator/setup-miniconda@v3
|
|
31
|
+
with:
|
|
32
|
+
auto-update-conda: true
|
|
33
|
+
conda-remove-defaults: true
|
|
34
|
+
activate-environment: fourcipp
|
|
35
|
+
python-version: ${{ matrix.python-version }}
|
|
36
|
+
- name: Install requirements
|
|
37
|
+
shell: bash -el {0}
|
|
38
|
+
run: |
|
|
39
|
+
conda activate fourcipp
|
|
40
|
+
pip install -e .[dev,safe]
|
|
41
|
+
- name: Run pytest
|
|
42
|
+
shell: bash -el {0}
|
|
43
|
+
run: |
|
|
44
|
+
conda activate fourcipp
|
|
45
|
+
pytest --color=yes -v --performance-tests --no-cov
|
|
46
|
+
cat timings.md >> $GITHUB_STEP_SUMMARY
|
|
47
|
+
|
|
48
|
+
run_pytest_with_4C:
|
|
49
|
+
runs-on: ubuntu-latest
|
|
50
|
+
container:
|
|
51
|
+
image: ghcr.io/4c-multiphysics/4c:main
|
|
52
|
+
defaults:
|
|
53
|
+
run:
|
|
54
|
+
shell: bash -l {0}
|
|
55
|
+
steps:
|
|
56
|
+
- name: Checkout repository
|
|
57
|
+
uses: actions/checkout@v3
|
|
58
|
+
- name: Set up virtual environment
|
|
59
|
+
uses: conda-incubator/setup-miniconda@v3
|
|
60
|
+
with:
|
|
61
|
+
auto-update-conda: true
|
|
62
|
+
conda-remove-defaults: true
|
|
63
|
+
activate-environment: fourcipp
|
|
64
|
+
python-version: 3.13
|
|
65
|
+
- name: Install requirements
|
|
66
|
+
shell: bash -el {0}
|
|
67
|
+
run: |
|
|
68
|
+
conda activate fourcipp
|
|
69
|
+
pip install -e .[dev,safe]
|
|
70
|
+
- name: Run pytest using 4C_docker_main config
|
|
71
|
+
run: |
|
|
72
|
+
fourcipp switch-config-profile 4C_docker_main
|
|
73
|
+
pytest --color=yes -v
|
|
74
|
+
- name: Run pytest using default config
|
|
75
|
+
# For this job coverage is turned off, otherwise the checks would fail.
|
|
76
|
+
# Coverage is done in the 4C docker job, as here 4C test input files are available.
|
|
77
|
+
run: |
|
|
78
|
+
fourcipp switch-config-profile default
|
|
79
|
+
pytest --color=yes -v --no-cov
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Auto Tag Versioning
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_run:
|
|
5
|
+
workflows: ["Testsuite"]
|
|
6
|
+
types:
|
|
7
|
+
- completed
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
tag:
|
|
11
|
+
# only tag versions after a new commit to main and after successful testing (not after scheduled/cron testing)
|
|
12
|
+
if: github.event.workflow_run.event == 'push' && github.event.workflow_run.head_branch == 'main' && github.event.workflow_run.conclusion == 'success'
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
permissions:
|
|
15
|
+
contents: write
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout code
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
with:
|
|
21
|
+
fetch-depth: 0
|
|
22
|
+
token: ${{ secrets.PAT_4C_BOT_MERGE_TO_MAIN }}
|
|
23
|
+
|
|
24
|
+
- name: Get latest tag
|
|
25
|
+
id: get_tag
|
|
26
|
+
run: |
|
|
27
|
+
latest=$(git tag --list 'v[0-9]*.[0-9]*.[0-9]*' | sort -V | tail -n1)
|
|
28
|
+
echo "Latest tag: $latest"
|
|
29
|
+
echo "latest_tag=$latest" >> "$GITHUB_OUTPUT"
|
|
30
|
+
|
|
31
|
+
- name: Check if commit is already tagged
|
|
32
|
+
id: check_tag
|
|
33
|
+
run: |
|
|
34
|
+
tag=$(git tag --points-at HEAD | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' || true)
|
|
35
|
+
if [ -n "$tag" ]; then
|
|
36
|
+
echo "This commit is already tagged with $tag. Skipping auto-tag."
|
|
37
|
+
echo "skip=true" >> "$GITHUB_OUTPUT"
|
|
38
|
+
else
|
|
39
|
+
echo "No version tag on this commit. Proceeding."
|
|
40
|
+
echo "skip=false" >> "$GITHUB_OUTPUT"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
- name: Compute next version tag
|
|
44
|
+
if: steps.check_tag.outputs.skip != 'true'
|
|
45
|
+
id: new_tag
|
|
46
|
+
run: |
|
|
47
|
+
latest="${{ steps.get_tag.outputs.latest_tag }}"
|
|
48
|
+
version="${latest#v}"
|
|
49
|
+
IFS='.' read -r major minor patch <<< "$version"
|
|
50
|
+
minor=$((minor + 1))
|
|
51
|
+
new_tag="v${major}.${minor}.0"
|
|
52
|
+
echo "New tag: $new_tag"
|
|
53
|
+
echo "tag=$new_tag" >> "$GITHUB_OUTPUT"
|
|
54
|
+
|
|
55
|
+
- name: Configure Git user
|
|
56
|
+
if: steps.check_tag.outputs.skip != 'true'
|
|
57
|
+
run: |
|
|
58
|
+
git config user.name "4C-Bot"
|
|
59
|
+
git config user.email "207683181+4C-Bot@users.noreply.github.com"
|
|
60
|
+
|
|
61
|
+
- name: Create and push new tag
|
|
62
|
+
if: steps.check_tag.outputs.skip != 'true'
|
|
63
|
+
run: |
|
|
64
|
+
git tag ${{ steps.new_tag.outputs.tag }}
|
|
65
|
+
git push origin ${{ steps.new_tag.outputs.tag }}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
name: Update 4C metadata and schema file
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: "0 5 * * *" # run each night at 5AM. Current nightly 4C test should be completed by then
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
update-4C-metadata-schema-file:
|
|
9
|
+
name: Update 4C metadata and schema file
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout repository
|
|
14
|
+
uses: actions/checkout@v3
|
|
15
|
+
with:
|
|
16
|
+
token: ${{ secrets.PAT_4C_BOT_MERGE_TO_MAIN }}
|
|
17
|
+
- name: Pull latest metadata file from 4C
|
|
18
|
+
uses: dawidd6/action-download-artifact@v9
|
|
19
|
+
with:
|
|
20
|
+
repo: 4C-multiphysics/4C
|
|
21
|
+
github_token: ${{ secrets.ORGANIZATION_TOKEN }}
|
|
22
|
+
workflow: nightly_tests.yml
|
|
23
|
+
workflow_conclusion: completed
|
|
24
|
+
name: clang18_build-metadata
|
|
25
|
+
path: clang18_build-metadata
|
|
26
|
+
- name: Pull latest schema file from 4C
|
|
27
|
+
uses: dawidd6/action-download-artifact@v9
|
|
28
|
+
with:
|
|
29
|
+
repo: 4C-multiphysics/4C
|
|
30
|
+
github_token: ${{ secrets.ORGANIZATION_TOKEN }}
|
|
31
|
+
workflow: nightly_tests.yml
|
|
32
|
+
workflow_conclusion: completed
|
|
33
|
+
name: clang18_build-schema
|
|
34
|
+
path: clang18_build-schema
|
|
35
|
+
# Format new files with pre-commit (this needs to be done before the files are hashed to ensure that both are formatted)
|
|
36
|
+
- name: Set up virtual environment
|
|
37
|
+
uses: conda-incubator/setup-miniconda@v3
|
|
38
|
+
with:
|
|
39
|
+
auto-update-conda: true
|
|
40
|
+
conda-remove-defaults: true
|
|
41
|
+
activate-environment: fourcipp
|
|
42
|
+
python-version: 3.12
|
|
43
|
+
- name: Install requirements
|
|
44
|
+
shell: bash -el {0}
|
|
45
|
+
run: |
|
|
46
|
+
conda activate fourcipp
|
|
47
|
+
pip install -e .[dev,safe]
|
|
48
|
+
pip install pre-commit
|
|
49
|
+
# files need to be specified because they are not yet staged and therefore pre-commit cannot find them
|
|
50
|
+
# pre-commit hook is run twice to not fail if the first run fails (due to formatting files)
|
|
51
|
+
- name: Run pre-commit, i.e., format files
|
|
52
|
+
shell: bash -el {0}
|
|
53
|
+
run: |
|
|
54
|
+
conda activate fourcipp
|
|
55
|
+
SKIP=no-commit-to-branch pre-commit run --files clang18_build-metadata/4C_metadata.yaml clang18_build-schema/4C_schema.json || SKIP=no-commit-to-branch pre-commit run --files clang18_build-metadata/4C_metadata.yaml clang18_build-schema/4C_schema.json
|
|
56
|
+
# Compare the hashes
|
|
57
|
+
- name: Check if metadata file has changed and overwrite old file if necessary
|
|
58
|
+
run: |
|
|
59
|
+
set -euo pipefail
|
|
60
|
+
hash_current=$(grep -v 'commit_hash' src/fourcipp/config/4C_metadata.yaml | sha256sum | awk '{print $1}')
|
|
61
|
+
hash_new=$(grep -v 'commit_hash' clang18_build-metadata/4C_metadata.yaml | sha256sum | awk '{print $1}')
|
|
62
|
+
|
|
63
|
+
echo "Current metadata file hash: $hash_current"
|
|
64
|
+
echo "New metadata file hash: $hash_new"
|
|
65
|
+
|
|
66
|
+
if [ "$hash_current" != "$hash_new" ]; then
|
|
67
|
+
mv clang18_build-metadata/4C_metadata.yaml src/fourcipp/config/4C_metadata.yaml
|
|
68
|
+
mv clang18_build-schema/4C_schema.json src/fourcipp/config/4C_schema.json
|
|
69
|
+
rm -r clang18_build-metadata
|
|
70
|
+
rm -r clang18_build-schema
|
|
71
|
+
|
|
72
|
+
echo "metadata_file_changed=true" >> $GITHUB_ENV
|
|
73
|
+
else
|
|
74
|
+
echo "metadata_file_changed=false" >> $GITHUB_ENV
|
|
75
|
+
fi
|
|
76
|
+
# Commit and push changes
|
|
77
|
+
- name: Get 4C hash for commit message
|
|
78
|
+
if: env.metadata_file_changed == 'true'
|
|
79
|
+
run: echo "fourc_commit_hash=$(awk '/commit_hash:/ {print $2}' src/fourcipp/config/4C_metadata.yaml)" >> $GITHUB_ENV
|
|
80
|
+
- name: Commit and push changes
|
|
81
|
+
if: env.metadata_file_changed == 'true'
|
|
82
|
+
uses: stefanzweifel/git-auto-commit-action@v5
|
|
83
|
+
with:
|
|
84
|
+
commit_message: "Nightly update of 4C metadata and schema file (4C commit hash: ${{ env.fourc_commit_hash }})"
|
|
85
|
+
branch: main
|
|
86
|
+
push_options: --force
|
|
87
|
+
commit_options: "--no-verify"
|
|
88
|
+
commit_user_name: 4C-Bot
|
|
89
|
+
commit_user_email: 207683181+4C-Bot@users.noreply.github.com
|
|
90
|
+
commit_author: 4C-Bot <207683181+4C-Bot@users.noreply.github.com>
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# Manually added files & folder
|
|
2
|
+
|
|
3
|
+
# FourCIPP version file
|
|
4
|
+
src/fourcipp/version.py
|
|
5
|
+
|
|
6
|
+
# FourCIPP config file
|
|
7
|
+
src/fourcipp/config/config.yaml
|
|
8
|
+
|
|
9
|
+
# Automatically created section
|
|
10
|
+
|
|
11
|
+
# Created by https://www.toptal.com/developers/gitignore/api/python,macos,linux,windows,visualstudiocode,pycharm
|
|
12
|
+
# Edit at https://www.toptal.com/developers/gitignore?templates=python,macos,linux,windows,visualstudiocode,pycharm
|
|
13
|
+
|
|
14
|
+
### Linux ###
|
|
15
|
+
*~
|
|
16
|
+
|
|
17
|
+
# temporary files which can be created if a process still has a handle open of a deleted file
|
|
18
|
+
.fuse_hidden*
|
|
19
|
+
|
|
20
|
+
# KDE directory preferences
|
|
21
|
+
.directory
|
|
22
|
+
|
|
23
|
+
# Linux trash folder which might appear on any partition or disk
|
|
24
|
+
.Trash-*
|
|
25
|
+
|
|
26
|
+
# .nfs files are created when an open file is removed but is still being accessed
|
|
27
|
+
.nfs*
|
|
28
|
+
|
|
29
|
+
### macOS ###
|
|
30
|
+
# General
|
|
31
|
+
.DS_Store
|
|
32
|
+
.AppleDouble
|
|
33
|
+
.LSOverride
|
|
34
|
+
|
|
35
|
+
# Icon must end with two \r
|
|
36
|
+
Icon
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# Thumbnails
|
|
40
|
+
._*
|
|
41
|
+
|
|
42
|
+
# Files that might appear in the root of a volume
|
|
43
|
+
.DocumentRevisions-V100
|
|
44
|
+
.fseventsd
|
|
45
|
+
.Spotlight-V100
|
|
46
|
+
.TemporaryItems
|
|
47
|
+
.Trashes
|
|
48
|
+
.VolumeIcon.icns
|
|
49
|
+
.com.apple.timemachine.donotpresent
|
|
50
|
+
|
|
51
|
+
# Directories potentially created on remote AFP share
|
|
52
|
+
.AppleDB
|
|
53
|
+
.AppleDesktop
|
|
54
|
+
Network Trash Folder
|
|
55
|
+
Temporary Items
|
|
56
|
+
.apdisk
|
|
57
|
+
|
|
58
|
+
### macOS Patch ###
|
|
59
|
+
# iCloud generated files
|
|
60
|
+
*.icloud
|
|
61
|
+
|
|
62
|
+
### PyCharm ###
|
|
63
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
|
64
|
+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
|
65
|
+
|
|
66
|
+
# All stuff in the .idea folder is usually not useful to share, as it contains
|
|
67
|
+
# user-specific or machine-specific settings.
|
|
68
|
+
.idea/
|
|
69
|
+
|
|
70
|
+
# Gradle and Maven with auto-import
|
|
71
|
+
# When using Gradle or Maven with auto-import, you should exclude module files,
|
|
72
|
+
# since they will be recreated, and may cause churn. Uncomment if using
|
|
73
|
+
# auto-import.
|
|
74
|
+
# *.iml
|
|
75
|
+
# *.ipr
|
|
76
|
+
|
|
77
|
+
# CMake
|
|
78
|
+
cmake-build-*/
|
|
79
|
+
|
|
80
|
+
# File-based project format
|
|
81
|
+
*.iws
|
|
82
|
+
|
|
83
|
+
# IntelliJ
|
|
84
|
+
out/
|
|
85
|
+
|
|
86
|
+
# mpeltonen/sbt-idea plugin
|
|
87
|
+
.idea_modules/
|
|
88
|
+
|
|
89
|
+
# JIRA plugin
|
|
90
|
+
atlassian-ide-plugin.xml
|
|
91
|
+
|
|
92
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
93
|
+
com_crashlytics_export_strings.xml
|
|
94
|
+
crashlytics.properties
|
|
95
|
+
crashlytics-build.properties
|
|
96
|
+
fabric.properties
|
|
97
|
+
|
|
98
|
+
### PyCharm Patch ###
|
|
99
|
+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
|
100
|
+
|
|
101
|
+
# *.iml
|
|
102
|
+
# modules.xml
|
|
103
|
+
# .idea/misc.xml
|
|
104
|
+
# *.ipr
|
|
105
|
+
|
|
106
|
+
### Python ###
|
|
107
|
+
# Byte-compiled / optimized / DLL files
|
|
108
|
+
__pycache__/
|
|
109
|
+
*.py[cod]
|
|
110
|
+
*$py.class
|
|
111
|
+
|
|
112
|
+
# C extensions
|
|
113
|
+
*.so
|
|
114
|
+
|
|
115
|
+
# Distribution / packaging
|
|
116
|
+
.Python
|
|
117
|
+
build/
|
|
118
|
+
develop-eggs/
|
|
119
|
+
dist/
|
|
120
|
+
downloads/
|
|
121
|
+
eggs/
|
|
122
|
+
.eggs/
|
|
123
|
+
lib/
|
|
124
|
+
lib64/
|
|
125
|
+
parts/
|
|
126
|
+
sdist/
|
|
127
|
+
var/
|
|
128
|
+
wheels/
|
|
129
|
+
share/python-wheels/
|
|
130
|
+
*.egg-info/
|
|
131
|
+
.installed.cfg
|
|
132
|
+
*.egg
|
|
133
|
+
MANIFEST
|
|
134
|
+
|
|
135
|
+
# PyInstaller
|
|
136
|
+
# Usually these files are written by a python script from a template
|
|
137
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
138
|
+
*.manifest
|
|
139
|
+
*.spec
|
|
140
|
+
|
|
141
|
+
# Installer logs
|
|
142
|
+
pip-log.txt
|
|
143
|
+
pip-delete-this-directory.txt
|
|
144
|
+
|
|
145
|
+
# Unit test / coverage reports
|
|
146
|
+
htmlcov/
|
|
147
|
+
.tox/
|
|
148
|
+
.nox/
|
|
149
|
+
.coverage
|
|
150
|
+
.coverage.*
|
|
151
|
+
.cache
|
|
152
|
+
nosetests.xml
|
|
153
|
+
coverage.xml
|
|
154
|
+
*.cover
|
|
155
|
+
*.py,cover
|
|
156
|
+
.hypothesis/
|
|
157
|
+
.pytest_cache/
|
|
158
|
+
cover/
|
|
159
|
+
|
|
160
|
+
# Translations
|
|
161
|
+
*.mo
|
|
162
|
+
*.pot
|
|
163
|
+
|
|
164
|
+
# Django stuff:
|
|
165
|
+
*.log
|
|
166
|
+
local_settings.py
|
|
167
|
+
db.sqlite3
|
|
168
|
+
db.sqlite3-journal
|
|
169
|
+
|
|
170
|
+
# Flask stuff:
|
|
171
|
+
instance/
|
|
172
|
+
.webassets-cache
|
|
173
|
+
|
|
174
|
+
# Scrapy stuff:
|
|
175
|
+
.scrapy
|
|
176
|
+
|
|
177
|
+
# Sphinx documentation
|
|
178
|
+
docs/_build/
|
|
179
|
+
|
|
180
|
+
# PyBuilder
|
|
181
|
+
.pybuilder/
|
|
182
|
+
target/
|
|
183
|
+
|
|
184
|
+
# Jupyter Notebook
|
|
185
|
+
.ipynb_checkpoints
|
|
186
|
+
|
|
187
|
+
# IPython
|
|
188
|
+
profile_default/
|
|
189
|
+
ipython_config.py
|
|
190
|
+
|
|
191
|
+
# pyenv
|
|
192
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
193
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
194
|
+
# .python-version
|
|
195
|
+
|
|
196
|
+
# pipenv
|
|
197
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
198
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
199
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
200
|
+
# install all needed dependencies.
|
|
201
|
+
#Pipfile.lock
|
|
202
|
+
|
|
203
|
+
# poetry
|
|
204
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
205
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
206
|
+
# commonly ignored for libraries.
|
|
207
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
208
|
+
#poetry.lock
|
|
209
|
+
|
|
210
|
+
# pdm
|
|
211
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
212
|
+
#pdm.lock
|
|
213
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
214
|
+
# in version control.
|
|
215
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
216
|
+
.pdm.toml
|
|
217
|
+
|
|
218
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
219
|
+
__pypackages__/
|
|
220
|
+
|
|
221
|
+
# Celery stuff
|
|
222
|
+
celerybeat-schedule
|
|
223
|
+
celerybeat.pid
|
|
224
|
+
|
|
225
|
+
# SageMath parsed files
|
|
226
|
+
*.sage.py
|
|
227
|
+
|
|
228
|
+
# Environments
|
|
229
|
+
.env
|
|
230
|
+
.venv
|
|
231
|
+
env/
|
|
232
|
+
venv/
|
|
233
|
+
ENV/
|
|
234
|
+
env.bak/
|
|
235
|
+
venv.bak/
|
|
236
|
+
|
|
237
|
+
# Spyder project settings
|
|
238
|
+
.spyderproject
|
|
239
|
+
.spyproject
|
|
240
|
+
|
|
241
|
+
# Rope project settings
|
|
242
|
+
.ropeproject
|
|
243
|
+
|
|
244
|
+
# mkdocs documentation
|
|
245
|
+
/site
|
|
246
|
+
|
|
247
|
+
# mypy
|
|
248
|
+
.mypy_cache/
|
|
249
|
+
.dmypy.json
|
|
250
|
+
dmypy.json
|
|
251
|
+
|
|
252
|
+
# Pyre type checker
|
|
253
|
+
.pyre/
|
|
254
|
+
|
|
255
|
+
# pytype static type analyzer
|
|
256
|
+
.pytype/
|
|
257
|
+
|
|
258
|
+
# Cython debug symbols
|
|
259
|
+
cython_debug/
|
|
260
|
+
|
|
261
|
+
# PyCharm
|
|
262
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
263
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
264
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
265
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
266
|
+
#.idea/
|
|
267
|
+
|
|
268
|
+
### Python Patch ###
|
|
269
|
+
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
|
|
270
|
+
poetry.toml
|
|
271
|
+
|
|
272
|
+
# ruff
|
|
273
|
+
.ruff_cache/
|
|
274
|
+
|
|
275
|
+
# LSP config files
|
|
276
|
+
pyrightconfig.json
|
|
277
|
+
|
|
278
|
+
### VisualStudioCode ###
|
|
279
|
+
.vscode/*
|
|
280
|
+
!.vscode/settings.json
|
|
281
|
+
!.vscode/tasks.json
|
|
282
|
+
!.vscode/launch.json
|
|
283
|
+
!.vscode/extensions.json
|
|
284
|
+
!.vscode/*.code-snippets
|
|
285
|
+
|
|
286
|
+
# Local History for Visual Studio Code
|
|
287
|
+
.history/
|
|
288
|
+
|
|
289
|
+
# Built Visual Studio Code Extensions
|
|
290
|
+
*.vsix
|
|
291
|
+
|
|
292
|
+
### VisualStudioCode Patch ###
|
|
293
|
+
# Ignore all local history of files
|
|
294
|
+
.history
|
|
295
|
+
.ionide
|
|
296
|
+
|
|
297
|
+
### Windows ###
|
|
298
|
+
# Windows thumbnail cache files
|
|
299
|
+
Thumbs.db
|
|
300
|
+
Thumbs.db:encryptable
|
|
301
|
+
ehthumbs.db
|
|
302
|
+
ehthumbs_vista.db
|
|
303
|
+
|
|
304
|
+
# Dump file
|
|
305
|
+
*.stackdump
|
|
306
|
+
|
|
307
|
+
# Folder config file
|
|
308
|
+
[Dd]esktop.ini
|
|
309
|
+
|
|
310
|
+
# Recycle Bin used on file shares
|
|
311
|
+
$RECYCLE.BIN/
|
|
312
|
+
|
|
313
|
+
# Windows Installer files
|
|
314
|
+
*.cab
|
|
315
|
+
*.msi
|
|
316
|
+
*.msix
|
|
317
|
+
*.msm
|
|
318
|
+
*.msp
|
|
319
|
+
|
|
320
|
+
# Windows shortcuts
|
|
321
|
+
*.lnk
|
|
322
|
+
|
|
323
|
+
# End of https://www.toptal.com/developers/gitignore/api/python,macos,linux,windows,visualstudiocode,pycharm
|