dromedary 0.1.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.
Files changed (109) hide show
  1. dromedary-0.1.0/.bzrignore +79 -0
  2. dromedary-0.1.0/.coveragerc +7 -0
  3. dromedary-0.1.0/.dockerignore +2 -0
  4. dromedary-0.1.0/.github/dependabot.yaml +18 -0
  5. dromedary-0.1.0/.github/workflows/disperse.yml +14 -0
  6. dromedary-0.1.0/.github/workflows/pythonpackage.yml +48 -0
  7. dromedary-0.1.0/.github/workflows/wheels.yaml +135 -0
  8. dromedary-0.1.0/.gitignore +31 -0
  9. dromedary-0.1.0/.mailmap +5 -0
  10. dromedary-0.1.0/.rsyncexclude +23 -0
  11. dromedary-0.1.0/.testr.conf +4 -0
  12. dromedary-0.1.0/CODE_OF_CONDUCT.md +76 -0
  13. dromedary-0.1.0/COPYING.txt +339 -0
  14. dromedary-0.1.0/Cargo.lock +1015 -0
  15. dromedary-0.1.0/Cargo.toml +20 -0
  16. dromedary-0.1.0/MANIFEST.in +6 -0
  17. dromedary-0.1.0/PKG-INFO +86 -0
  18. dromedary-0.1.0/README.md +55 -0
  19. dromedary-0.1.0/dromedary/Cargo.toml +34 -0
  20. dromedary-0.1.0/dromedary/__init__.py +1767 -0
  21. dromedary-0.1.0/dromedary/_bedding.py +34 -0
  22. dromedary-0.1.0/dromedary/_config.py +47 -0
  23. dromedary-0.1.0/dromedary/_hooks.py +102 -0
  24. dromedary-0.1.0/dromedary/_transport_rs/Cargo.toml +18 -0
  25. dromedary-0.1.0/dromedary/_transport_rs/src/lib.rs +1226 -0
  26. dromedary-0.1.0/dromedary/_transport_rs/src/sftp.rs +555 -0
  27. dromedary-0.1.0/dromedary/_transport_rs/src/urlutils.rs +307 -0
  28. dromedary-0.1.0/dromedary/_ui.py +48 -0
  29. dromedary-0.1.0/dromedary/_urlutils_rs/Cargo.toml +11 -0
  30. dromedary-0.1.0/dromedary/_urlutils_rs/src/lib.rs +297 -0
  31. dromedary-0.1.0/dromedary/_urlutils_rs/urlutils/Cargo.toml +15 -0
  32. dromedary-0.1.0/dromedary/_urlutils_rs/urlutils/src/lib.rs +792 -0
  33. dromedary-0.1.0/dromedary/brokenrename.py +46 -0
  34. dromedary-0.1.0/dromedary/cethread.py +182 -0
  35. dromedary-0.1.0/dromedary/chroot.py +75 -0
  36. dromedary-0.1.0/dromedary/decorator.py +205 -0
  37. dromedary-0.1.0/dromedary/errors.py +367 -0
  38. dromedary-0.1.0/dromedary/fakenfs.py +73 -0
  39. dromedary-0.1.0/dromedary/fakevfat.py +141 -0
  40. dromedary-0.1.0/dromedary/gio_transport.py +600 -0
  41. dromedary-0.1.0/dromedary/http/__init__.py +138 -0
  42. dromedary-0.1.0/dromedary/http/ca_bundle.py +78 -0
  43. dromedary-0.1.0/dromedary/http/response.py +546 -0
  44. dromedary-0.1.0/dromedary/http/urllib.py +3061 -0
  45. dromedary-0.1.0/dromedary/http/wsgi.py +0 -0
  46. dromedary-0.1.0/dromedary/local.py +115 -0
  47. dromedary-0.1.0/dromedary/log.py +188 -0
  48. dromedary-0.1.0/dromedary/memory.py +403 -0
  49. dromedary-0.1.0/dromedary/osutils-rs/Cargo.toml +13 -0
  50. dromedary-0.1.0/dromedary/osutils-rs/src/lib.rs +1 -0
  51. dromedary-0.1.0/dromedary/osutils-rs/src/path.rs +207 -0
  52. dromedary-0.1.0/dromedary/osutils.py +346 -0
  53. dromedary-0.1.0/dromedary/pathfilter.py +329 -0
  54. dromedary-0.1.0/dromedary/py.typed +0 -0
  55. dromedary-0.1.0/dromedary/readonly.py +103 -0
  56. dromedary-0.1.0/dromedary/remote.py +0 -0
  57. dromedary-0.1.0/dromedary/setup.py +64 -0
  58. dromedary-0.1.0/dromedary/sftp.py +967 -0
  59. dromedary-0.1.0/dromedary/src/fcntl-locks.rs +317 -0
  60. dromedary-0.1.0/dromedary/src/lib.rs +515 -0
  61. dromedary-0.1.0/dromedary/src/local.rs +502 -0
  62. dromedary-0.1.0/dromedary/src/lock.rs +31 -0
  63. dromedary-0.1.0/dromedary/src/pyo3.rs +686 -0
  64. dromedary-0.1.0/dromedary/src/readv.rs +258 -0
  65. dromedary-0.1.0/dromedary/src/sftp.rs +555 -0
  66. dromedary-0.1.0/dromedary/src/urlutils.rs +786 -0
  67. dromedary-0.1.0/dromedary/src/win32-locks.rs +144 -0
  68. dromedary-0.1.0/dromedary/ssh/__init__.py +1010 -0
  69. dromedary-0.1.0/dromedary/ssh/paramiko.py +389 -0
  70. dromedary-0.1.0/dromedary/tests/__init__.py +342 -0
  71. dromedary-0.1.0/dromedary/tests/http_server.py +472 -0
  72. dromedary-0.1.0/dromedary/tests/https_server.py +146 -0
  73. dromedary-0.1.0/dromedary/tests/per_transport.py +1852 -0
  74. dromedary-0.1.0/dromedary/tests/ssl_certs/__init__.py +27 -0
  75. dromedary-0.1.0/dromedary/tests/ssl_certs/__pycache__/__init__.cpython-313.pyc +0 -0
  76. dromedary-0.1.0/dromedary/tests/ssl_certs/ca.crt +35 -0
  77. dromedary-0.1.0/dromedary/tests/ssl_certs/ca.key +54 -0
  78. dromedary-0.1.0/dromedary/tests/ssl_certs/create_ssls.py +319 -0
  79. dromedary-0.1.0/dromedary/tests/ssl_certs/server.crt +36 -0
  80. dromedary-0.1.0/dromedary/tests/ssl_certs/server.csr +29 -0
  81. dromedary-0.1.0/dromedary/tests/ssl_certs/server.extensions.cnf +9 -0
  82. dromedary-0.1.0/dromedary/tests/ssl_certs/server_with_pass.key +54 -0
  83. dromedary-0.1.0/dromedary/tests/ssl_certs/server_without_pass.key +52 -0
  84. dromedary-0.1.0/dromedary/tests/stub_sftp.py +601 -0
  85. dromedary-0.1.0/dromedary/tests/test_cethread.py +159 -0
  86. dromedary-0.1.0/dromedary/tests/test_errors.py +72 -0
  87. dromedary-0.1.0/dromedary/tests/test_server.py +515 -0
  88. dromedary-0.1.0/dromedary/tests/test_test_server.py +245 -0
  89. dromedary-0.1.0/dromedary/tests/test_transport.py +1216 -0
  90. dromedary-0.1.0/dromedary/tests/test_transport_log.py +75 -0
  91. dromedary-0.1.0/dromedary/tests/test_urlutils.py +1203 -0
  92. dromedary-0.1.0/dromedary/tests/transport_util.py +42 -0
  93. dromedary-0.1.0/dromedary/trace.py +214 -0
  94. dromedary-0.1.0/dromedary/transport-py/Cargo.toml +18 -0
  95. dromedary-0.1.0/dromedary/transport-py/src/lib.rs +1225 -0
  96. dromedary-0.1.0/dromedary/transport-py/src/sftp.rs +555 -0
  97. dromedary-0.1.0/dromedary/transport-py/src/urlutils.rs +297 -0
  98. dromedary-0.1.0/dromedary/unlistable.py +64 -0
  99. dromedary-0.1.0/dromedary/urlutils.py +452 -0
  100. dromedary-0.1.0/dromedary/version.py +65 -0
  101. dromedary-0.1.0/dromedary.egg-info/PKG-INFO +86 -0
  102. dromedary-0.1.0/dromedary.egg-info/SOURCES.txt +107 -0
  103. dromedary-0.1.0/dromedary.egg-info/dependency_links.txt +1 -0
  104. dromedary-0.1.0/dromedary.egg-info/not-zip-safe +1 -0
  105. dromedary-0.1.0/dromedary.egg-info/requires.txt +13 -0
  106. dromedary-0.1.0/dromedary.egg-info/top_level.txt +1 -0
  107. dromedary-0.1.0/pyproject.toml +146 -0
  108. dromedary-0.1.0/setup.cfg +4 -0
  109. dromedary-0.1.0/setup.py +36 -0
@@ -0,0 +1,79 @@
1
+ *.py[oc]
2
+ # These are created as byproducts of our test suite
3
+ ./test*.tmp
4
+ ./.python-eggs
5
+ ./breezy.egg-info
6
+ ./.bzr.log
7
+ # Generated files
8
+ CHANGELOG
9
+ # generated documents
10
+ brz.1
11
+ MANIFEST
12
+ ./doc/*.html
13
+ ./doc/*/_build/
14
+ ./doc/*/Makefile
15
+ ./doc/*/make.bat
16
+ ./tutorial.html
17
+ ./build_doc_website
18
+ ./html_docs
19
+ ./pretty_docs
20
+ ./api
21
+ ./doc/**/*.html
22
+ ./doc/developers/performance.png
23
+ ./doc/en/user-reference/*.txt
24
+ ./doc/en/release-notes/index.txt
25
+ ./doc/en/release-notes/NEWS.txt
26
+ BRANCH-INFO
27
+ # setup.py working directory
28
+ ./build
29
+ ./build-win32
30
+ ./breezy/locale
31
+ # Editor temporary/working/backup files
32
+ *$
33
+ .*.sw[nop]
34
+ .sw[nop]
35
+ *~
36
+ [#]*#
37
+ .#*
38
+ ./tags
39
+ ./breezy/tags
40
+ ./TAGS
41
+ # The shelf plugin uses this dir
42
+ ./.shelf
43
+ # Mac droppings
44
+ .DS_Store
45
+ # win32 installer generated files
46
+ ./doc/*.html
47
+ ./doc/brz_man.txt
48
+ ./py2exe.log
49
+ ./tools/win32/bzr.iss
50
+ ./dist
51
+ # performance history data file
52
+ ./.perf_history
53
+ # Pyrex
54
+ breezy/_bencode_pyx.c
55
+ breezy/bzr/_btree_serializer_pyx.c
56
+ breezy/_chunks_to_lines_pyx.c
57
+ breezy/bzr/_dirstate_helpers_pyx.c
58
+ breezy/bzr/_groupcompress_pyx.c
59
+ breezy/bzr/_knit_load_data_pyx.c
60
+ breezy/_readdir_pyx.c
61
+ # built extension modules
62
+ breezy/_*.dll
63
+ breezy/_*.so
64
+ breezy/_*.pyd
65
+ ./.ccache
66
+ .testrepository
67
+ selftest.log
68
+ .coverage
69
+ doc/developers/api/*.txt
70
+ __pycache__
71
+ .mypy_cache
72
+ # rust bits
73
+ ./target
74
+ ./brz
75
+ *.so
76
+ .pytest_cache
77
+ .ruff_cache
78
+ locale
79
+ .ruff_cache
@@ -0,0 +1,7 @@
1
+ [run]
2
+ branch = True
3
+ source = breezy
4
+
5
+ [report]
6
+ exclude_lines =
7
+ raise NotImplementedError
@@ -0,0 +1,2 @@
1
+ Dockerfile
2
+ *~
@@ -0,0 +1,18 @@
1
+ # Keep GitHub Actions up to date with GitHub's Dependabot...
2
+ # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
3
+ # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
4
+ version: 2
5
+ updates:
6
+ - package-ecosystem: "cargo"
7
+ directory: "/"
8
+ schedule:
9
+ interval: "weekly"
10
+ rebase-strategy: "disabled"
11
+ - package-ecosystem: "github-actions"
12
+ directory: "/"
13
+ schedule:
14
+ interval: weekly
15
+ - package-ecosystem: "pip"
16
+ directory: "/"
17
+ schedule:
18
+ interval: weekly
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: Disperse configuration
3
+
4
+ "on":
5
+ - push
6
+
7
+ jobs:
8
+ build:
9
+
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - uses: jelmer/action-disperse-validate@v2
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: Python package
3
+
4
+ "on": [push, pull_request]
5
+
6
+ env:
7
+ PYO3_USE_ABI3_FORWARD_COMPATIBILITY: "1"
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ matrix:
14
+ os: [ubuntu-latest]
15
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
16
+ fail-fast: false
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - name: Set up Python ${{ matrix.python-version }}
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ - name: Set up Rust
25
+ uses: dtolnay/rust-toolchain@stable
26
+ - name: Install dependencies
27
+ run: |
28
+ python -m pip install --upgrade pip
29
+ python -m pip install -U "setuptools>=60" setuptools-rust
30
+ if [[ "${{ matrix.python-version }}" == "3.14"* ]]; then
31
+ python -m pip install -e ".[dev,testing]"
32
+ else
33
+ python -m pip install -e ".[dev,testing,paramiko]"
34
+ fi
35
+ - name: Run ruff
36
+ run: |
37
+ ruff check .
38
+ ruff format --check .
39
+ - name: Run mypy
40
+ run: |
41
+ python -m pip install mypy types-paramiko typing-extensions
42
+ python -m mypy dromedary
43
+ continue-on-error: true
44
+ - name: Test suite
45
+ run: |
46
+ python -m unittest discover -s dromedary/tests -t .
47
+ env:
48
+ PYTHONHASHSEED: random
@@ -0,0 +1,135 @@
1
+ name: Build Python Wheels
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ schedule:
7
+ - cron: "0 6 * * *" # Daily 6AM UTC build
8
+
9
+ env:
10
+ PYO3_USE_ABI3_FORWARD_COMPATIBILITY: "1"
11
+
12
+ jobs:
13
+ define-matrix:
14
+ runs-on: ubuntu-latest
15
+ outputs:
16
+ matrix: ${{ steps.merged-identifiers.outputs.merged-identifiers }}
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - uses: actions/setup-python@v5
21
+ with:
22
+ python-version: '3.11'
23
+ cache: pip
24
+ - name: Install jq
25
+ run: sudo apt-get update && sudo apt-get install -y jq
26
+ - name: Install cibuildwheel
27
+ run: pip install 'cibuildwheel>=3.0'
28
+ - name: Find build identifiers using cibuildwheel --print-build-identifiers
29
+ id: all-build-identifiers
30
+ run: |
31
+ echo "linux=$(cibuildwheel --platform linux --print-build-identifiers | tr '\n' ' ')" >> $GITHUB_OUTPUT
32
+ echo "macos=$(cibuildwheel --platform macos --print-build-identifiers | tr '\n' ' ')" >> $GITHUB_OUTPUT
33
+ echo "windows=$(cibuildwheel --platform windows --print-build-identifiers | tr '\n' ' ')" >> $GITHUB_OUTPUT
34
+ - name: Select build identifiers
35
+ id: select-build-identifiers
36
+ run: |
37
+ if [[ "$GITHUB_REF" = "refs/heads/main" ]] || [[ "$GITHUB_REF" = "refs/heads/master" ]] || [[ "$GITHUB_REF" = "refs/tags/"* ]]; then
38
+ echo 'linux=${{ steps.all-build-identifiers.outputs.linux }}' >> $GITHUB_OUTPUT
39
+ echo 'windows=${{ steps.all-build-identifiers.outputs.windows }}' >> $GITHUB_OUTPUT
40
+ echo 'macos=${{ steps.all-build-identifiers.outputs.macos }}' >> $GITHUB_OUTPUT
41
+ else
42
+ echo "linux=$(echo -n '${{ steps.all-build-identifiers.outputs.linux }}' | awk '{print $NF}')" >> $GITHUB_OUTPUT
43
+ echo "macos=$(echo -n '${{ steps.all-build-identifiers.outputs.macos }}' | awk '{print $NF}')" >> $GITHUB_OUTPUT
44
+ echo "windows=$(echo -n '${{ steps.all-build-identifiers.outputs.windows }}' | awk '{print $NF}')" >> $GITHUB_OUTPUT
45
+ fi
46
+ - name: Output build identifiers
47
+ id: json-identifiers
48
+ run: |
49
+ echo "linux=$(echo -n '${{ steps.select-build-identifiers.outputs.linux }}' | jq -R -s -c 'split(" ") | map(select(length > 0)) | [.[] | {os: "ubuntu-latest", "build-identifier": .}]')" >> $GITHUB_OUTPUT
50
+ echo "macos=$(echo -n '${{ steps.select-build-identifiers.outputs.macos }}' | jq -R -s -c 'split(" ") | map(select(length > 0)) | [.[] | {os: "macos-latest", "build-identifier": .}]')" >> $GITHUB_OUTPUT
51
+ echo "windows=$(echo -n '${{ steps.select-build-identifiers.outputs.windows }}' | jq -R -s -c 'split(" ") | map(select(length > 0)) | [.[] | {os: "windows-latest", "build-identifier": .}]')" >> $GITHUB_OUTPUT
52
+ - name: Merge build identifiers
53
+ id: merged-identifiers
54
+ run: |
55
+ echo merged-identifiers=$(echo -n '${{ steps.json-identifiers.outputs.linux }} ${{ steps.json-identifiers.outputs.macos }} ${{ steps.json-identifiers.outputs.windows }}' | jq -c -s 'add') >> $GITHUB_OUTPUT
56
+
57
+ build-wheels:
58
+ runs-on: ${{ matrix.os }}
59
+ needs: define-matrix
60
+ strategy:
61
+ matrix:
62
+ include: ${{ fromJSON(needs.define-matrix.outputs.matrix ) }}
63
+ fail-fast: ${{ !startsWith(github.ref, 'refs/tags/') }}
64
+
65
+ steps:
66
+ - uses: actions/checkout@v4
67
+ - uses: actions/setup-python@v5
68
+ with:
69
+ python-version: '3.11'
70
+ - name: set up rust
71
+ if: matrix.os != 'ubuntu'
72
+ uses: actions-rs/toolchain@v1
73
+ with:
74
+ profile: minimal
75
+ toolchain: stable
76
+ override: true
77
+ - name: Install dependencies
78
+ run: |
79
+ python -m pip install --upgrade pip
80
+ pip install setuptools wheel 'cibuildwheel>=3.0'
81
+ - name: Set up QEMU
82
+ uses: docker/setup-qemu-action@v3
83
+ if: "matrix.os == 'ubuntu-latest'"
84
+ - name: Build wheels
85
+ run: python -m cibuildwheel --output-dir wheelhouse
86
+ env:
87
+ CIBW_SKIP: "*musllinux* *-win32"
88
+ CIBW_ARCHS_MACOS: x86_64 arm64 universal2
89
+ CIBW_SKIP_LINUX: '*-musllinux_*'
90
+ CIBW_ENVIRONMENT: 'PATH="$HOME/.cargo/bin:$PATH" PYO3_USE_ABI3_FORWARD_COMPATIBILITY="1" MACOSX_DEPLOYMENT_TARGET="10.12"'
91
+ CIBW_BEFORE_BUILD: >
92
+ pip install -U setuptools-rust &&
93
+ curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=stable --profile=minimal -y &&
94
+ rustup show
95
+ CIBW_BEFORE_BUILD_LINUX: >
96
+ pip install -U setuptools-rust &&
97
+ curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=stable --profile=minimal -y &&
98
+ rustup show
99
+ CIBW_REPAIR_WHEEL_COMMAND_MACOS: >
100
+ MACOSX_DEPLOYMENT_TARGET=10.12 delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
101
+ CIBW_BEFORE_BUILD_MACOS: >
102
+ pip install -U setuptools-rust &&
103
+ curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=stable --profile=minimal -y &&
104
+ rustup target add x86_64-apple-darwin &&
105
+ rustup show
106
+ - name: Upload wheels
107
+ uses: actions/upload-artifact@v4
108
+ with:
109
+ name: artifact-${{ matrix.build-identifier }}
110
+ path: ./wheelhouse/*.whl
111
+
112
+ publish:
113
+ runs-on: ubuntu-latest
114
+
115
+ needs: build-wheels
116
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
117
+ permissions:
118
+ id-token: write
119
+ environment:
120
+ name: pypi
121
+ url: https://pypi.org/p/dromedary
122
+ steps:
123
+ - uses: actions/setup-python@v5
124
+
125
+ - name: Install twine
126
+ run: |
127
+ python -m pip install --upgrade pip
128
+ pip install twine
129
+ - name: Download wheels
130
+ uses: actions/download-artifact@v4
131
+ - name: Publish wheels
132
+ env:
133
+ TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
134
+ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
135
+ run: twine upload artifact/*.whl
@@ -0,0 +1,31 @@
1
+ __pycache__
2
+ *.pyc
3
+ build/
4
+ *_pyx.so
5
+ *_pyx.c
6
+ *_pyx.h
7
+ *_pyx_api.h
8
+ *_pyx.cpython-*.so
9
+ *_c.cpython-*.so
10
+ *_c.so
11
+ *_pyx.cpython-*.c
12
+ *~
13
+ /target
14
+ /brz
15
+ /Cargo.lock
16
+ *.cpython-*.so
17
+ .testrepository/
18
+ *.swp
19
+ *.swo
20
+ *.swn
21
+ .*.swp
22
+ .mypy_cache/
23
+ breezy/locale/
24
+ .claude/settings.local.json
25
+ selftest.log
26
+ doc/en/user-reference/*.txt
27
+ doc/en/_build/
28
+ doc/developers/_build/
29
+ doc/developers/Makefile
30
+ doc/developers/make.bat
31
+ *.so
@@ -0,0 +1,5 @@
1
+ Jelmer Vernooij <jelmer@jelmer.uk> <jelmer@jelmer.uk>
2
+ Jelmer Vernooij <jelmer@jelmer.uk> <jelmer@samba.org>
3
+ Jelmer Vernooij <jelmer@jelmer.uk> <jelmer@canonical.com>
4
+ INADA Naoki <songofacandy@gmail.com> <songofacandy@gmail.com>
5
+ Martin Packman <gzlist@googlemail.com> <martin.packman@canonical.com>
@@ -0,0 +1,23 @@
1
+ *.pyc
2
+ *.pyo
3
+ *~
4
+ # arch can bite me
5
+ {arch}
6
+ .arch-ids
7
+ ,,*
8
+ ++*
9
+ /doc/*.html
10
+ *.tmp
11
+ bzr-test.log
12
+ [#]*#
13
+ .#*
14
+ testrev.*
15
+ /tmp
16
+ # do want this after all
17
+ + CHANGELOG
18
+ /build
19
+ test*.tmp
20
+ .*.swp
21
+ *.orig
22
+ .*.orig
23
+ .bzr-shelf*
@@ -0,0 +1,4 @@
1
+ [DEFAULT]
2
+ test_command=PYTHONPATH=`pwd`:$PYTHONPATH BRZ_PLUGIN_PATH=-site:-user python3 -m subunit.run discover dromedary.tests $IDOPTION $LISTOPT
3
+ test_id_option=--load-list $IDFILE
4
+ test_list_option=--list
@@ -0,0 +1,76 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at core@breezy-vcs.org. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
+
73
+ [homepage]: https://www.contributor-covenant.org
74
+
75
+ For answers to common questions about this code of conduct, see
76
+ https://www.contributor-covenant.org/faq