Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce3ba44a17 |
@@ -8,9 +8,8 @@ on:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
# Run tests for any PRs.
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
env:
|
||||
IMAGE_NAME: website
|
||||
@@ -20,9 +19,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build the tag
|
||||
id: tag
|
||||
run: echo "::set-output name=tag::$(git rev-parse --short HEAD).$(date +'%Y-%m-%d')"
|
||||
- name: Update apt
|
||||
run: sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
|
||||
- name: Install Python3.8
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.8
|
||||
architecture: x64
|
||||
- name: Update pip
|
||||
run: pip install -U pip
|
||||
- name: Install pipenv
|
||||
run: pip install pipenv
|
||||
- name: Lock pip dependencies
|
||||
run: pipenv lock --pre --clear
|
||||
- name: Install dependencies
|
||||
run: pipenv install
|
||||
- name: Export to requirements.txt
|
||||
run: pipenv lock -r > requirements.txt
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
- name: Set up Docker Buildx
|
||||
@@ -37,27 +50,4 @@ jobs:
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: marcpartensky/discord-bot:v${{ github.run_number }}.${{ steps.tag.outputs.tag }}
|
||||
|
||||
test-python-versions:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
python-version: ['3.8', '3.9', '3.10']
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
cache: pip
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ hashFiles('setup.py') }}-${{ hashFiles('requirements.txt') }}
|
||||
- name: Install requirements
|
||||
run: pip install -r requirements.txt
|
||||
- name: Display Python version
|
||||
run: python -c "import sys; print(sys.version)"
|
||||
|
||||
tags: marcpartensky/discord-bot:latest
|
||||
|
||||
+10
-5
@@ -1,10 +1,19 @@
|
||||
FROM python:3.8.12 as builder
|
||||
|
||||
RUN pip install pipenv
|
||||
COPY Pipfile Pipfile
|
||||
RUN pipenv lock --pre --clear
|
||||
RUN pipenv lock -r > requirements.txt
|
||||
|
||||
FROM python:3.8.12-slim
|
||||
LABEL maintainer="marc.partensky@gmail.com"
|
||||
LABEL image="https://hub.docker.com/r/marcpartensky/discord-bot"
|
||||
LABEL source="https://github.com/marcpartensky/discord-bot"
|
||||
RUN apt-get update && apt-get upgrade -y && apt autoremove -y
|
||||
# RUN add-apt-repository ppa:mc3man/trusty-media
|
||||
RUN apt-get install -y ffmpeg git curl
|
||||
RUN apt-get install -y ffmpeg git
|
||||
|
||||
# COPY --from=builder requirements.txt ./
|
||||
COPY requirements.txt ./
|
||||
|
||||
RUN pip install -U pip
|
||||
@@ -20,8 +29,4 @@ COPY ./models models
|
||||
COPY ./cogs cogs
|
||||
COPY __main__.py LICENSE ./
|
||||
|
||||
ENV DISCORD_BOT_HOST 0.0.0.0
|
||||
ENV DISCORD_BOT_PORT 8000
|
||||
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 CMD curl -f http://localhost:8000/live || exit 1
|
||||
|
||||
ENTRYPOINT ["python", "__main__.py"]
|
||||
|
||||
@@ -3,13 +3,13 @@ start:
|
||||
update:
|
||||
pipenv lock --pre --clear
|
||||
dev:
|
||||
docker-compose -f docker-compose.yml up -d --build --force-recreate --remove-orphans dev
|
||||
docker-compose -f docker-compose.yml up --build --force-recreate --remove-orphans discord-bot-dev
|
||||
prod:
|
||||
docker-compose -f docker-compose.yml up -d --build --force-recreate --remove-orphans prod
|
||||
docker-compose -f docker-compose.yml up --build --force-recreate --remove-orphans discord-bot-prod
|
||||
build:
|
||||
docker-compose -f docker-compose.yml build prod
|
||||
docker-compose -f docker-compose.yml build discord-bot-prod
|
||||
push: build
|
||||
docker-compose -f docker-compose.yml push prod
|
||||
docker-compose -f docker-compose.yml push discord-bot-prod
|
||||
requirements:
|
||||
pipenv lock -r > requirements.txt
|
||||
setup:
|
||||
@@ -17,8 +17,4 @@ setup:
|
||||
pipenv shell
|
||||
pipenv install
|
||||
recreate:
|
||||
docker-compose -f docker-compose.yml up --force-recreate dev
|
||||
fixwithbrew:
|
||||
brwe install python@3.8
|
||||
sudo ln -sf /home/linuxbrew/.linuxbrew/Cellar/python@3.8/3.8.12_1/bin/python3.8 /usr/bin/python3.8
|
||||
|
||||
docker-compose -f docker-compose.yml up --force-recreate discord-bot-dev
|
||||
|
||||
Generated
+228
-121
@@ -78,11 +78,11 @@
|
||||
},
|
||||
"astroid": {
|
||||
"hashes": [
|
||||
"sha256:3975a0bd5373bdce166e60c851cfcbaf21ee96de80ec518c1f4cb3e94c3fb334",
|
||||
"sha256:ab7f36e8a78b8e54a62028ba6beef7561db4cdb6f2a5009ecc44a6f42b5697ef"
|
||||
"sha256:5939cf55de24b92bda00345d4d0659d01b3c7dafb5055165c330bc7c568ba273",
|
||||
"sha256:776ca0b748b4ad69c00bfe0fff38fa2d21c338e12c84aa9715ee0d473c422778"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==2.6.6"
|
||||
"version": "==2.9.0"
|
||||
},
|
||||
"async-generator": {
|
||||
"hashes": [
|
||||
@@ -169,14 +169,6 @@
|
||||
"index": "pypi",
|
||||
"version": "==0.0.1"
|
||||
},
|
||||
"cachetools": {
|
||||
"hashes": [
|
||||
"sha256:486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6",
|
||||
"sha256:8fecd4203a38af17928be7b90689d8083603073622229ca7077b72d8e5a976e4"
|
||||
],
|
||||
"markers": "python_version ~= '3.7'",
|
||||
"version": "==5.0.0"
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
"sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872",
|
||||
@@ -348,11 +340,11 @@
|
||||
},
|
||||
"dnspython": {
|
||||
"hashes": [
|
||||
"sha256:258d7ea3c86c8cea20705e904764fef5e93837c07d1499a13154e9ba0a93b420",
|
||||
"sha256:84656be4dc8379066be55c594622e82250874f9bccc9993f73cf9df72fc4cffc"
|
||||
"sha256:95d12f6ef0317118d2a1a6fc49aac65ffec7eb8087474158f42f26a639135216",
|
||||
"sha256:e4a87f0b573201a0f3727fa18a516b055fd1107e0e5477cded4a2de497df1dd4"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==2.2.0rc1"
|
||||
"version": "==2.1.0"
|
||||
},
|
||||
"dpy-http-server": {
|
||||
"hashes": [
|
||||
@@ -379,11 +371,11 @@
|
||||
},
|
||||
"filelock": {
|
||||
"hashes": [
|
||||
"sha256:38b4f4c989f9d06d44524df1b24bd19e167d851f19b50bf3e3559952dddc5b80",
|
||||
"sha256:cf0fc6a2f8d26bd900f19bf33915ca70ba4dd8c56903eeb14e1e7a2fd7590146"
|
||||
"sha256:2e139a228bcf56dd8b2274a65174d005c4a6b68540ee0bdbb92c76f43f29f7e8",
|
||||
"sha256:93d512b32a23baf4cac44ffd72ccf70732aeff7b8050fcaf6d3ec406d954baf4"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.4.2"
|
||||
"version": "==3.4.0"
|
||||
},
|
||||
"future": {
|
||||
"hashes": [
|
||||
@@ -755,31 +747,39 @@
|
||||
},
|
||||
"numpy": {
|
||||
"hashes": [
|
||||
"sha256:07805b77c2b4582bc6888795c0463bf3d4bd758dee922fcd685413eb3274295f",
|
||||
"sha256:0b5642efe2a36f2191102b44bb95ee1479f14c1adb2d7155303e50b2517e43bc",
|
||||
"sha256:11fb5ee7b8a2a01bccdfb715889cb1a8490bfceeba1ab1ca9d01c92329ca5a4b",
|
||||
"sha256:20016b0ed895bb80f37caadd224b01b6cc52520766ba67d8f5536ac16ef08002",
|
||||
"sha256:222ce51bf9d4c77f2222049d75ea908f1862302cab7d5ccdb88773b9514e10af",
|
||||
"sha256:2313aa9b9684b36b0bf07e44432d025e0803518286a1ecae5f0ea947b46008df",
|
||||
"sha256:26271b883db7ff9e375df36ad92fc9921fc336480d0aabe4483503640c9b5dd3",
|
||||
"sha256:301df2531616ff7dac8224c104b38d301adabb96c12650dae06d2036da53c385",
|
||||
"sha256:3d0b6fb9796ba83500990dc18d8dbeaca49559c7f7f47da723fee902a99ee4bb",
|
||||
"sha256:4315a66e64fe1adc7f7fa51116c87cdf5a78f2f8265c6d0ee27bfcbe845b3ddf",
|
||||
"sha256:5b46584808f06d90df177520136cfeb5f2151b0e6a762e94c05a36f82140ff7b",
|
||||
"sha256:6eaa053519d1ed5922621ecb04d33d64769508060860eb0b8a07502d55554a2c",
|
||||
"sha256:6ebe0f0f40aa86c5cbe41e017e2028ba318e0743d93674a19f06a2401e602bd7",
|
||||
"sha256:a0964771a7660fd3d2420d6be0a08144f49f14d684bbe85f67467ad81bd73180",
|
||||
"sha256:af16e2163c1edfaa82ec43a220acc31ad0ff51619efcb41d79440dfc130e9562",
|
||||
"sha256:af718720cb23c795a1470fde1a860c7fbbcd1387e1f3755cf734417f96124766",
|
||||
"sha256:b445551ff10fe31adb76df0e6d0210e02c586686297faddcf453dd51ce2b2ea0",
|
||||
"sha256:b63c2976f10a94af28c2860a74d7cf07ed9489ebfd36fbadb9816d3bf6ba8efb",
|
||||
"sha256:c3a8d12b5bf04ce3495ad2b4d706a3058415185c16d3e8d094264a9de62d52e2",
|
||||
"sha256:ced56665c49691ad8a31d553e42248566678f188e7c1813cadc947bfb91f3abd",
|
||||
"sha256:e55a7a201e1972e2686ffee1dba1ddf5e041989018a707540ba10be8367331b1",
|
||||
"sha256:f13703ad4849ef62d3dadc1af1e00ce2762458b4466d4f3e339d84e6b450af33"
|
||||
"sha256:00c9fa73a6989895b8815d98300a20ac993c49ac36c8277e8ffeaa3631c0dbbb",
|
||||
"sha256:025b497014bc33fc23897859350f284323f32a2fff7654697f5a5fc2a19e9939",
|
||||
"sha256:08de8472d9f7571f9d51b27b75e827f5296295fa78817032e84464be8bb905bc",
|
||||
"sha256:1964db2d4a00348b7a60ee9d013c8cb0c566644a589eaa80995126eac3b99ced",
|
||||
"sha256:2a9add27d7fc0fdb572abc3b2486eb3b1395da71e0254c5552b2aad2a18b5441",
|
||||
"sha256:2d8adfca843bc46ac199a4645233f13abf2011a0b2f4affc5c37cd552626f27b",
|
||||
"sha256:301e408a052fdcda5cdcf03021ebafc3c6ea093021bf9d1aa47c54d48bdad166",
|
||||
"sha256:311283acf880cfcc20369201bd75da907909afc4666966c7895cbed6f9d2c640",
|
||||
"sha256:341dddcfe3b7b6427a28a27baa59af5ad51baa59bfec3264f1ab287aa3b30b13",
|
||||
"sha256:3a5098df115340fb17fc93867317a947e1dcd978c3888c5ddb118366095851f8",
|
||||
"sha256:3c978544be9e04ed12016dd295a74283773149b48f507d69b36f91aa90a643e5",
|
||||
"sha256:3d893b0871322eaa2f8c7072cdb552d8e2b27645b7875a70833c31e9274d4611",
|
||||
"sha256:4fe6a006557b87b352c04596a6e3f12a57d6e5f401d804947bd3188e6b0e0e76",
|
||||
"sha256:507c05c7a37b3683eb08a3ff993bd1ee1e6c752f77c2f275260533b265ecdb6c",
|
||||
"sha256:58ca1d7c8aef6e996112d0ce873ac9dfa1eaf4a1196b4ff7ff73880a09923ba7",
|
||||
"sha256:61bada43d494515d5b122f4532af226fdb5ee08fe5b5918b111279843dc6836a",
|
||||
"sha256:69a5a8d71c308d7ef33ef72371c2388a90e3495dbb7993430e674006f94797d5",
|
||||
"sha256:6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee",
|
||||
"sha256:7b9d6b14fc9a4864b08d1ba57d732b248f0e482c7b2ff55c313137e3ed4d8449",
|
||||
"sha256:a7c4b701ca418cd39e28ec3b496e6388fe06de83f5f0cb74794fa31cfa384c02",
|
||||
"sha256:a7e8f6216f180f3fd4efb73de5d1eaefb5f5a1ee5b645c67333033e39440e63a",
|
||||
"sha256:b545ebadaa2b878c8630e5bcdb97fc4096e779f335fc0f943547c1c91540c815",
|
||||
"sha256:c293d3c0321996cd8ffe84215ffe5d269fd9d1d12c6f4ffe2b597a7c30d3e593",
|
||||
"sha256:c5562bcc1a9b61960fc8950ade44d00e3de28f891af0acc96307c73613d18f6e",
|
||||
"sha256:ca9c23848292c6fe0a19d212790e62f398fd9609aaa838859be8459bfbe558aa",
|
||||
"sha256:cc1b30205d138d1005adb52087ff45708febbef0e420386f58664f984ef56954",
|
||||
"sha256:dbce7adeb66b895c6aaa1fad796aaefc299ced597f6fbd9ceddb0dd735245354",
|
||||
"sha256:dc4b2fb01f1b4ddbe2453468ea0719f4dbb1f5caa712c8b21bb3dd1480cd30d9",
|
||||
"sha256:eed2afaa97ec33b4411995be12f8bdb95c87984eaa28d76cf628970c8a2d689a",
|
||||
"sha256:fc7a7d7b0ed72589fd8b8486b9b42a564f10b8762be8bd4d9df94b807af4a089"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.22.0rc3"
|
||||
"version": "==1.21.5"
|
||||
},
|
||||
"outcome": {
|
||||
"hashes": [
|
||||
@@ -869,11 +869,11 @@
|
||||
},
|
||||
"platformdirs": {
|
||||
"hashes": [
|
||||
"sha256:1d7385c7db91728b83efd0ca99a5afb296cab9d0ed8313a45ed8ba17967ecfca",
|
||||
"sha256:440633ddfebcc36264232365d7840a970e75e1018d15b4327d11f91909045fda"
|
||||
"sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2",
|
||||
"sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2.4.1"
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2.4.0"
|
||||
},
|
||||
"pluggy": {
|
||||
"hashes": [
|
||||
@@ -907,6 +907,14 @@
|
||||
"index": "pypi",
|
||||
"version": "==3.55.0"
|
||||
},
|
||||
"py": {
|
||||
"hashes": [
|
||||
"sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719",
|
||||
"sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
|
||||
"version": "==1.11.0"
|
||||
},
|
||||
"pycodestyle": {
|
||||
"hashes": [
|
||||
"sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20",
|
||||
@@ -957,11 +965,11 @@
|
||||
},
|
||||
"pylint": {
|
||||
"hashes": [
|
||||
"sha256:349b149e88e4357ed4f77ac3a4e61c0ab965cda293b6f4e58caf73d4b24ae551",
|
||||
"sha256:adc11bec00c2084bf55c81dd69e26f2793fef757547997d44b21aed038f74403"
|
||||
"sha256:9d945a73640e1fec07ee34b42f5669b770c759acd536ec7b16d7e4b87a9c9ff9",
|
||||
"sha256:daabda3f7ed9d1c60f52d563b1b854632fd90035bcf01443e234d3dc794e3b74"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.0.0a4"
|
||||
"version": "==2.12.2"
|
||||
},
|
||||
"pymongo": {
|
||||
"hashes": [
|
||||
@@ -1285,70 +1293,69 @@
|
||||
},
|
||||
"scikit-learn": {
|
||||
"hashes": [
|
||||
"sha256:08ef968f6b72033c16c479c966bf37ccd49b06ea91b765e1cc27afefe723920b",
|
||||
"sha256:158faf30684c92a78e12da19c73feff9641a928a8024b4fa5ec11d583f3d8a87",
|
||||
"sha256:16455ace947d8d9e5391435c2977178d0ff03a261571e67f627c8fee0f9d431a",
|
||||
"sha256:245c9b5a67445f6f044411e16a93a554edc1efdcce94d3fc0bc6a4b9ac30b752",
|
||||
"sha256:285db0352e635b9e3392b0b426bc48c3b485512d3b4ac3c7a44ec2a2ba061e66",
|
||||
"sha256:2f3b453e0b149898577e301d27e098dfe1a36943f7bb0ad704d1e548efc3b448",
|
||||
"sha256:46f431ec59dead665e1370314dbebc99ead05e1c0a9df42f22d6a0e00044820f",
|
||||
"sha256:55f2f3a8414e14fbee03782f9fe16cca0f141d639d2b1c1a36779fa069e1db57",
|
||||
"sha256:5cb33fe1dc6f73dc19e67b264dbb5dde2a0539b986435fdd78ed978c14654830",
|
||||
"sha256:75307d9ea39236cad7eea87143155eea24d48f93f3a2f9389c817f7019f00705",
|
||||
"sha256:7626a34eabbf370a638f32d1a3ad50526844ba58d63e3ab81ba91e2a7c6d037e",
|
||||
"sha256:7a93c1292799620df90348800d5ac06f3794c1316ca247525fa31169f6d25855",
|
||||
"sha256:7d6b2475f1c23a698b48515217eb26b45a6598c7b1840ba23b3c5acece658dbb",
|
||||
"sha256:80095a1e4b93bd33261ef03b9bc86d6db649f988ea4dbcf7110d0cded8d7213d",
|
||||
"sha256:85260fb430b795d806251dd3bb05e6f48cdc777ac31f2bcf2bc8bbed3270a8f5",
|
||||
"sha256:9369b030e155f8188743eb4893ac17a27f81d28a884af460870c7c072f114243",
|
||||
"sha256:a053a6a527c87c5c4fa7bf1ab2556fa16d8345cf99b6c5a19030a4a7cd8fd2c0",
|
||||
"sha256:a90b60048f9ffdd962d2ad2fb16367a87ac34d76e02550968719eb7b5716fd10",
|
||||
"sha256:a999c9f02ff9570c783069f1074f06fe7386ec65b84c983db5aeb8144356a355",
|
||||
"sha256:b1391d1a6e2268485a63c3073111fe3ba6ec5145fc957481cfd0652be571226d",
|
||||
"sha256:b54a62c6e318ddbfa7d22c383466d38d2ee770ebdb5ddb668d56a099f6eaf75f",
|
||||
"sha256:b5870959a5484b614f26d31ca4c17524b1b0317522199dc985c3b4256e030767",
|
||||
"sha256:bc3744dabc56b50bec73624aeca02e0def06b03cb287de26836e730659c5d29c",
|
||||
"sha256:d93d4c28370aea8a7cbf6015e8a669cd5d69f856cc2aa44e7a590fb805bb5583",
|
||||
"sha256:d9aac97e57c196206179f674f09bc6bffcd0284e2ba95b7fe0b402ac3f986023",
|
||||
"sha256:da3c84694ff693b5b3194d8752ccf935a665b8b5edc33a283122f4273ca3e687",
|
||||
"sha256:e174242caecb11e4abf169342641778f68e1bfaba80cd18acd6bc84286b9a534",
|
||||
"sha256:eabceab574f471de0b0eb3f2ecf2eee9f10b3106570481d007ed1c84ebf6d6a1",
|
||||
"sha256:f14517e174bd7332f1cca2c959e704696a5e0ba246eb8763e6c24876d8710049",
|
||||
"sha256:fa38a1b9b38ae1fad2863eff5e0d69608567453fdfc850c992e6e47eb764e846",
|
||||
"sha256:ff3fa8ea0e09e38677762afc6e14cad77b5e125b0ea70c9bba1992f02c93b028",
|
||||
"sha256:ff746a69ff2ef25f62b36338c615dd15954ddc3ab8e73530237dd73235e76d62"
|
||||
"sha256:02aee3b257617da0ec98dee9572b10523dc00c25b68c195ddf100c1a93b1854b",
|
||||
"sha256:059c5be0c0365321ddbcac7abf0db806fad8ecb64ee6c7cbcd58313c7d61634d",
|
||||
"sha256:116e05fd990d9b363fc29bd3699ec2117d7da9088f6ca9a90173b240c5a063f1",
|
||||
"sha256:11a57405c1c3514227d0c6a0bee561c94cd1284b41e236f7a1d76b3975f77593",
|
||||
"sha256:32d941f12fd7e245f01da2b82943c5ce6f1133fa5375eb80caa51457532b3e7e",
|
||||
"sha256:46248cc6a8b72490f723c73ff2e65e62633d14cafe9d2df3a7b3f87d332a6f7e",
|
||||
"sha256:515b227f01f569145dc9f86e56f4cea9f00a613fc4d074bbfc0a92ca00bff467",
|
||||
"sha256:538f3a85c4980c7572f3e754f0ba8489363976ef3e7f6a94e8f1af5ae45f6f6a",
|
||||
"sha256:53bb7c605427ab187869d7a05cd3f524a3015a90e351c1788fc3a662e7f92b69",
|
||||
"sha256:59b1d6df8724003fa16b7365a3b43449ee152aa6e488dd7a19f933640bb2d7fb",
|
||||
"sha256:62ce4e3ddb6e6e9dcdb3e5ac7f0575dbaf56f79ce2b2edee55192b12b52df5be",
|
||||
"sha256:648f4dbfdd0a1b45bf6e2e4afe3f431774c55dee05e2d28f8394d6648296f373",
|
||||
"sha256:944f47b2d881b9d24aee40d643bfdc4bd2b6dc3d25b62964411c6d8882f940a1",
|
||||
"sha256:a51fdbc116974d9715957366df73e5ec6f0a7a2afa017864c2e5f5834e6f494d",
|
||||
"sha256:a800665527c1a63f7395a0baae3c89b0d97b54d2c23769c1c9879061bb80bc19",
|
||||
"sha256:ac2ca9dbb754d61cfe1c83ba8483498ef951d29b93ec09d6f002847f210a99da",
|
||||
"sha256:bd78a2442c948536f677e2744917c37cff014559648102038822c23863741c27",
|
||||
"sha256:c604a813df8e7d6dfca3ae0db0a8fd7e5dff4ea9d94081ab263c81bf0b61ab4b",
|
||||
"sha256:c6b9510fd2e1642314efb7aa951a0d05d963f3523e01c30b2dadde2395ebe6b4",
|
||||
"sha256:ebbe4275556d3c02707bd93ae8b96d9651acd4165126e0ae64b336afa2a6dcb1",
|
||||
"sha256:ee59da47e18b703f6de17d5d51b16ce086c50969d5a83db5217f0ae9372de232",
|
||||
"sha256:fb7214103f6c36c1371dd8c166897e3528264a28f2e2e42573ba8c61ed4d7142",
|
||||
"sha256:fc60e0371e521995a6af2ef3f5d911568506124c272889b318b8b6e497251231",
|
||||
"sha256:fc75f81571137b39f9b31766e15a0e525331637e7fe8f8000a3fbfba7da3add9",
|
||||
"sha256:fecb5102f0a36c16c1361ec519a7bb0260776ef40e17393a81f530569c916a7b"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.0.2"
|
||||
"version": "==1.0.1"
|
||||
},
|
||||
"scipy": {
|
||||
"hashes": [
|
||||
"sha256:28ae39a37a00f7279c1f200f0bbecd01837d489025951732556b271b38ce84f0",
|
||||
"sha256:2e5a776dc7105b53204b3c9b948ee32c0325664279cccf87f7285d3cf6f4c06b",
|
||||
"sha256:301ebcd624f6949e46f8f573564168fe59bdd6b56ce81df6a82f6e00db8e1d98",
|
||||
"sha256:3b1d2af8a14bc393b6c763802e1e228f0f8918c29e01cef4542a712188303e78",
|
||||
"sha256:3bbc009781112537a5e7969abebff60a4cbc641f4394c29cf08047f2826d3e77",
|
||||
"sha256:4035b0f70d1bdbfe143005bb1033938529f684c0b93b4a90c2f59bbd88bcd0d3",
|
||||
"sha256:55863c865d651aa2e49d72778db976c0d38db7ddf9ec26ee869e56c1a8c799d1",
|
||||
"sha256:5b39372472fb79ea4a35684bb2f3a573e6ffe805179a07965a50d2df10e17ce3",
|
||||
"sha256:62164c89c57e7bc8ca931e29edf25f534828e2cc4b7eb254f34eaa7c395dae83",
|
||||
"sha256:63bea96f299c549febe7039e8c80942217e3e39851fb2258fae430b722610573",
|
||||
"sha256:739ee3f6688c96516248f88725bbe1f241f3e0ab708f5eda98e2a9fe5cf38fba",
|
||||
"sha256:7ae0f1c0bce0188bcb93666f7ffdc4dfcedd071e60a92fd6107bc6061cab79c6",
|
||||
"sha256:83b7a82a56ccaf8b5accd8f4988898412806aecb3f52fc505eeccaee9d8cb889",
|
||||
"sha256:874588522c8c97ec285effbd0bcd7c9de03e918674a9decc5779cc85de408e0d",
|
||||
"sha256:8db99b6c017ab971b04a0781103a31ce745d4f0ac2b7db999523d4a94549ae15",
|
||||
"sha256:9439aa6e8076df746e6d026328ba01a2160e886f185926e8915849f1e124422f",
|
||||
"sha256:94a33efa21cffc5c3f8d416c0c1c79914019b9e3a82b5461176e4dc1c42218ea",
|
||||
"sha256:aa31ae8d8cf0abba07bc795f75b1aacf46b6136be22eefb4435040386f0f2bec",
|
||||
"sha256:bb3931cc7281fc0e5cc94f4cdc316a8628206bac24ed0ccd999be09266bc9970",
|
||||
"sha256:d6ccda8592a30120ea4c3ab669a10ab6e0c45284df9066b6583165d5092e75a7",
|
||||
"sha256:d73b13eb0452c178f946b4db60b27e400225df02e926609652ed67798054e77d",
|
||||
"sha256:da36fd4d686ac936b7cd6b8348dfd4aebfd42650fcf15af62e5d9b582a9e7cb6",
|
||||
"sha256:f3b64d3456c4f52e665019e08347c86618b702c190a9130df3c6e0a9f43eca78"
|
||||
"sha256:033ce76ed4e9f62923e1f8124f7e2b0800db533828c853b402c7eec6e9465d80",
|
||||
"sha256:173308efba2270dcd61cd45a30dfded6ec0085b4b6eb33b5eb11ab443005e088",
|
||||
"sha256:21b66200cf44b1c3e86495e3a436fc7a26608f92b8d43d344457c54f1c024cbc",
|
||||
"sha256:2c56b820d304dffcadbbb6cbfbc2e2c79ee46ea291db17e288e73cd3c64fefa9",
|
||||
"sha256:304dfaa7146cffdb75fbf6bb7c190fd7688795389ad060b970269c8576d038e9",
|
||||
"sha256:3f78181a153fa21c018d346f595edd648344751d7f03ab94b398be2ad083ed3e",
|
||||
"sha256:4d242d13206ca4302d83d8a6388c9dfce49fc48fdd3c20efad89ba12f785bf9e",
|
||||
"sha256:5d1cc2c19afe3b5a546ede7e6a44ce1ff52e443d12b231823268019f608b9b12",
|
||||
"sha256:5f2cfc359379c56b3a41b17ebd024109b2049f878badc1e454f31418c3a18436",
|
||||
"sha256:65bd52bf55f9a1071398557394203d881384d27b9c2cad7df9a027170aeaef93",
|
||||
"sha256:7edd9a311299a61e9919ea4192dd477395b50c014cdc1a1ac572d7c27e2207fa",
|
||||
"sha256:8499d9dd1459dc0d0fe68db0832c3d5fc1361ae8e13d05e6849b358dc3f2c279",
|
||||
"sha256:866ada14a95b083dd727a845a764cf95dd13ba3dc69a16b99038001b05439709",
|
||||
"sha256:87069cf875f0262a6e3187ab0f419f5b4280d3dcf4811ef9613c605f6e4dca95",
|
||||
"sha256:93378f3d14fff07572392ce6a6a2ceb3a1f237733bd6dcb9eb6a2b29b0d19085",
|
||||
"sha256:95c2d250074cfa76715d58830579c64dff7354484b284c2b8b87e5a38321672c",
|
||||
"sha256:ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf",
|
||||
"sha256:b0e0aeb061a1d7dcd2ed59ea57ee56c9b23dd60100825f98238c06ee5cc4467e",
|
||||
"sha256:b78a35c5c74d336f42f44106174b9851c783184a85a3fe3e68857259b37b9ffb",
|
||||
"sha256:c9e04d7e9b03a8a6ac2045f7c5ef741be86727d8f49c45db45f244bdd2bcff17",
|
||||
"sha256:ca36e7d9430f7481fc7d11e015ae16fbd5575615a8e9060538104778be84addf",
|
||||
"sha256:ceebc3c4f6a109777c0053dfa0282fddb8893eddfb0d598574acfb734a926168",
|
||||
"sha256:e2c036492e673aad1b7b0d0ccdc0cb30a968353d2c4bf92ac8e73509e1bf212c",
|
||||
"sha256:eb326658f9b73c07081300daba90a8746543b5ea177184daed26528273157294",
|
||||
"sha256:eb7ae2c4dbdb3c9247e07acc532f91077ae6dbc40ad5bd5dca0bb5a176ee9bda",
|
||||
"sha256:edad1cf5b2ce1912c4d8ddad20e11d333165552aba262c882e28c78bbc09dbf6",
|
||||
"sha256:eef93a446114ac0193a7b714ce67659db80caf940f3232bad63f4c7a81bc18df",
|
||||
"sha256:f7eaea089345a35130bc9a39b89ec1ff69c208efa97b3f8b25ea5d4c41d88094",
|
||||
"sha256:f99d206db1f1ae735a8192ab93bd6028f3a42f6fa08467d37a14eb96c9dd34a3"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.8.0rc2"
|
||||
"version": "==1.7.3"
|
||||
},
|
||||
"secretstorage": {
|
||||
"hashes": [
|
||||
@@ -1444,11 +1451,11 @@
|
||||
},
|
||||
"tox": {
|
||||
"hashes": [
|
||||
"sha256:28a4292eb2634a708dbab9184c56c02dd255641900f7dbf8f6ae21b98f8829f0",
|
||||
"sha256:8c9095ff5044da60b2a55364a1285423b584785b05c3d1e29887b9d6dc2a1192"
|
||||
"sha256:5e274227a53dc9ef856767c21867377ba395992549f02ce55eb549f9fb9a8d10",
|
||||
"sha256:c30b57fa2477f1fb7c36aa1d83292d5c2336cd0018119e1b1c17340e2c2708ca"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==4.0.0a9"
|
||||
"version": "==3.24.4"
|
||||
},
|
||||
"translate": {
|
||||
"hashes": [
|
||||
@@ -1626,10 +1633,60 @@
|
||||
},
|
||||
"wrapt": {
|
||||
"hashes": [
|
||||
"sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
|
||||
"sha256:086218a72ec7d986a3eddb7707c8c4526d677c7b35e355875a0fe2918b059179",
|
||||
"sha256:0877fe981fd76b183711d767500e6b3111378ed2043c145e21816ee589d91096",
|
||||
"sha256:0a017a667d1f7411816e4bf214646d0ad5b1da2c1ea13dec6c162736ff25a374",
|
||||
"sha256:0cb23d36ed03bf46b894cfec777eec754146d68429c30431c99ef28482b5c1df",
|
||||
"sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185",
|
||||
"sha256:220a869982ea9023e163ba915077816ca439489de6d2c09089b219f4e11b6785",
|
||||
"sha256:25b1b1d5df495d82be1c9d2fad408f7ce5ca8a38085e2da41bb63c914baadff7",
|
||||
"sha256:2dded5496e8f1592ec27079b28b6ad2a1ef0b9296d270f77b8e4a3a796cf6909",
|
||||
"sha256:2ebdde19cd3c8cdf8df3fc165bc7827334bc4e353465048b36f7deeae8ee0918",
|
||||
"sha256:43e69ffe47e3609a6aec0fe723001c60c65305784d964f5007d5b4fb1bc6bf33",
|
||||
"sha256:46f7f3af321a573fc0c3586612db4decb7eb37172af1bc6173d81f5b66c2e068",
|
||||
"sha256:47f0a183743e7f71f29e4e21574ad3fa95676136f45b91afcf83f6a050914829",
|
||||
"sha256:498e6217523111d07cd67e87a791f5e9ee769f9241fcf8a379696e25806965af",
|
||||
"sha256:4b9c458732450ec42578b5642ac53e312092acf8c0bfce140ada5ca1ac556f79",
|
||||
"sha256:51799ca950cfee9396a87f4a1240622ac38973b6df5ef7a41e7f0b98797099ce",
|
||||
"sha256:5601f44a0f38fed36cc07db004f0eedeaadbdcec90e4e90509480e7e6060a5bc",
|
||||
"sha256:5f223101f21cfd41deec8ce3889dc59f88a59b409db028c469c9b20cfeefbe36",
|
||||
"sha256:610f5f83dd1e0ad40254c306f4764fcdc846641f120c3cf424ff57a19d5f7ade",
|
||||
"sha256:6a03d9917aee887690aa3f1747ce634e610f6db6f6b332b35c2dd89412912bca",
|
||||
"sha256:705e2af1f7be4707e49ced9153f8d72131090e52be9278b5dbb1498c749a1e32",
|
||||
"sha256:766b32c762e07e26f50d8a3468e3b4228b3736c805018e4b0ec8cc01ecd88125",
|
||||
"sha256:77416e6b17926d953b5c666a3cb718d5945df63ecf922af0ee576206d7033b5e",
|
||||
"sha256:778fd096ee96890c10ce96187c76b3e99b2da44e08c9e24d5652f356873f6709",
|
||||
"sha256:78dea98c81915bbf510eb6a3c9c24915e4660302937b9ae05a0947164248020f",
|
||||
"sha256:7dd215e4e8514004c8d810a73e342c536547038fb130205ec4bba9f5de35d45b",
|
||||
"sha256:7dde79d007cd6dfa65afe404766057c2409316135cb892be4b1c768e3f3a11cb",
|
||||
"sha256:81bd7c90d28a4b2e1df135bfbd7c23aee3050078ca6441bead44c42483f9ebfb",
|
||||
"sha256:85148f4225287b6a0665eef08a178c15097366d46b210574a658c1ff5b377489",
|
||||
"sha256:865c0b50003616f05858b22174c40ffc27a38e67359fa1495605f96125f76640",
|
||||
"sha256:87883690cae293541e08ba2da22cacaae0a092e0ed56bbba8d018cc486fbafbb",
|
||||
"sha256:8aab36778fa9bba1a8f06a4919556f9f8c7b33102bd71b3ab307bb3fecb21851",
|
||||
"sha256:8c73c1a2ec7c98d7eaded149f6d225a692caa1bd7b2401a14125446e9e90410d",
|
||||
"sha256:936503cb0a6ed28dbfa87e8fcd0a56458822144e9d11a49ccee6d9a8adb2ac44",
|
||||
"sha256:944b180f61f5e36c0634d3202ba8509b986b5fbaf57db3e94df11abee244ba13",
|
||||
"sha256:96b81ae75591a795d8c90edc0bfaab44d3d41ffc1aae4d994c5aa21d9b8e19a2",
|
||||
"sha256:981da26722bebb9247a0601e2922cedf8bb7a600e89c852d063313102de6f2cb",
|
||||
"sha256:ae9de71eb60940e58207f8e71fe113c639da42adb02fb2bcbcaccc1ccecd092b",
|
||||
"sha256:b73d4b78807bd299b38e4598b8e7bd34ed55d480160d2e7fdaabd9931afa65f9",
|
||||
"sha256:d4a5f6146cfa5c7ba0134249665acd322a70d1ea61732723c7d3e8cc0fa80755",
|
||||
"sha256:dd91006848eb55af2159375134d724032a2d1d13bcc6f81cd8d3ed9f2b8e846c",
|
||||
"sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a",
|
||||
"sha256:e6906d6f48437dfd80464f7d7af1740eadc572b9f7a4301e7dd3d65db285cacf",
|
||||
"sha256:e92d0d4fa68ea0c02d39f1e2f9cb5bc4b4a71e8c442207433d8db47ee79d7aa3",
|
||||
"sha256:e94b7d9deaa4cc7bac9198a58a7240aaf87fe56c6277ee25fa5b3aa1edebd229",
|
||||
"sha256:ea3e746e29d4000cd98d572f3ee2a6050a4f784bb536f4ac1f035987fc1ed83e",
|
||||
"sha256:ec7e20258ecc5174029a0f391e1b948bf2906cd64c198a9b8b281b811cbc04de",
|
||||
"sha256:ec9465dd69d5657b5d2fa6133b3e1e989ae27d29471a672416fd729b429eb554",
|
||||
"sha256:f122ccd12fdc69628786d0c947bdd9cb2733be8f800d88b5a37c57f1f1d73c10",
|
||||
"sha256:f99c0489258086308aad4ae57da9e8ecf9e1f3f30fa35d5e170b4d4896554d80",
|
||||
"sha256:f9c51d9af9abb899bd34ace878fbec8bf357b3194a10c4e8e0a25512826ef056",
|
||||
"sha256:fd76c47f20984b43d93de9a82011bb6e5f8325df6c9ed4d8310029a55fa361ea"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.12.1"
|
||||
"version": "==1.13.3"
|
||||
},
|
||||
"wsproto": {
|
||||
"hashes": [
|
||||
@@ -1802,11 +1859,11 @@
|
||||
"develop": {
|
||||
"astroid": {
|
||||
"hashes": [
|
||||
"sha256:3975a0bd5373bdce166e60c851cfcbaf21ee96de80ec518c1f4cb3e94c3fb334",
|
||||
"sha256:ab7f36e8a78b8e54a62028ba6beef7561db4cdb6f2a5009ecc44a6f42b5697ef"
|
||||
"sha256:5939cf55de24b92bda00345d4d0659d01b3c7dafb5055165c330bc7c568ba273",
|
||||
"sha256:776ca0b748b4ad69c00bfe0fff38fa2d21c338e12c84aa9715ee0d473c422778"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==2.6.6"
|
||||
"version": "==2.9.0"
|
||||
},
|
||||
"black": {
|
||||
"hashes": [
|
||||
@@ -1917,19 +1974,19 @@
|
||||
},
|
||||
"platformdirs": {
|
||||
"hashes": [
|
||||
"sha256:1d7385c7db91728b83efd0ca99a5afb296cab9d0ed8313a45ed8ba17967ecfca",
|
||||
"sha256:440633ddfebcc36264232365d7840a970e75e1018d15b4327d11f91909045fda"
|
||||
"sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2",
|
||||
"sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2.4.1"
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2.4.0"
|
||||
},
|
||||
"pylint": {
|
||||
"hashes": [
|
||||
"sha256:349b149e88e4357ed4f77ac3a4e61c0ab965cda293b6f4e58caf73d4b24ae551",
|
||||
"sha256:adc11bec00c2084bf55c81dd69e26f2793fef757547997d44b21aed038f74403"
|
||||
"sha256:9d945a73640e1fec07ee34b42f5669b770c759acd536ec7b16d7e4b87a9c9ff9",
|
||||
"sha256:daabda3f7ed9d1c60f52d563b1b854632fd90035bcf01443e234d3dc794e3b74"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.0.0a4"
|
||||
"version": "==2.12.2"
|
||||
},
|
||||
"setuptools": {
|
||||
"hashes": [
|
||||
@@ -1965,10 +2022,60 @@
|
||||
},
|
||||
"wrapt": {
|
||||
"hashes": [
|
||||
"sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
|
||||
"sha256:086218a72ec7d986a3eddb7707c8c4526d677c7b35e355875a0fe2918b059179",
|
||||
"sha256:0877fe981fd76b183711d767500e6b3111378ed2043c145e21816ee589d91096",
|
||||
"sha256:0a017a667d1f7411816e4bf214646d0ad5b1da2c1ea13dec6c162736ff25a374",
|
||||
"sha256:0cb23d36ed03bf46b894cfec777eec754146d68429c30431c99ef28482b5c1df",
|
||||
"sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185",
|
||||
"sha256:220a869982ea9023e163ba915077816ca439489de6d2c09089b219f4e11b6785",
|
||||
"sha256:25b1b1d5df495d82be1c9d2fad408f7ce5ca8a38085e2da41bb63c914baadff7",
|
||||
"sha256:2dded5496e8f1592ec27079b28b6ad2a1ef0b9296d270f77b8e4a3a796cf6909",
|
||||
"sha256:2ebdde19cd3c8cdf8df3fc165bc7827334bc4e353465048b36f7deeae8ee0918",
|
||||
"sha256:43e69ffe47e3609a6aec0fe723001c60c65305784d964f5007d5b4fb1bc6bf33",
|
||||
"sha256:46f7f3af321a573fc0c3586612db4decb7eb37172af1bc6173d81f5b66c2e068",
|
||||
"sha256:47f0a183743e7f71f29e4e21574ad3fa95676136f45b91afcf83f6a050914829",
|
||||
"sha256:498e6217523111d07cd67e87a791f5e9ee769f9241fcf8a379696e25806965af",
|
||||
"sha256:4b9c458732450ec42578b5642ac53e312092acf8c0bfce140ada5ca1ac556f79",
|
||||
"sha256:51799ca950cfee9396a87f4a1240622ac38973b6df5ef7a41e7f0b98797099ce",
|
||||
"sha256:5601f44a0f38fed36cc07db004f0eedeaadbdcec90e4e90509480e7e6060a5bc",
|
||||
"sha256:5f223101f21cfd41deec8ce3889dc59f88a59b409db028c469c9b20cfeefbe36",
|
||||
"sha256:610f5f83dd1e0ad40254c306f4764fcdc846641f120c3cf424ff57a19d5f7ade",
|
||||
"sha256:6a03d9917aee887690aa3f1747ce634e610f6db6f6b332b35c2dd89412912bca",
|
||||
"sha256:705e2af1f7be4707e49ced9153f8d72131090e52be9278b5dbb1498c749a1e32",
|
||||
"sha256:766b32c762e07e26f50d8a3468e3b4228b3736c805018e4b0ec8cc01ecd88125",
|
||||
"sha256:77416e6b17926d953b5c666a3cb718d5945df63ecf922af0ee576206d7033b5e",
|
||||
"sha256:778fd096ee96890c10ce96187c76b3e99b2da44e08c9e24d5652f356873f6709",
|
||||
"sha256:78dea98c81915bbf510eb6a3c9c24915e4660302937b9ae05a0947164248020f",
|
||||
"sha256:7dd215e4e8514004c8d810a73e342c536547038fb130205ec4bba9f5de35d45b",
|
||||
"sha256:7dde79d007cd6dfa65afe404766057c2409316135cb892be4b1c768e3f3a11cb",
|
||||
"sha256:81bd7c90d28a4b2e1df135bfbd7c23aee3050078ca6441bead44c42483f9ebfb",
|
||||
"sha256:85148f4225287b6a0665eef08a178c15097366d46b210574a658c1ff5b377489",
|
||||
"sha256:865c0b50003616f05858b22174c40ffc27a38e67359fa1495605f96125f76640",
|
||||
"sha256:87883690cae293541e08ba2da22cacaae0a092e0ed56bbba8d018cc486fbafbb",
|
||||
"sha256:8aab36778fa9bba1a8f06a4919556f9f8c7b33102bd71b3ab307bb3fecb21851",
|
||||
"sha256:8c73c1a2ec7c98d7eaded149f6d225a692caa1bd7b2401a14125446e9e90410d",
|
||||
"sha256:936503cb0a6ed28dbfa87e8fcd0a56458822144e9d11a49ccee6d9a8adb2ac44",
|
||||
"sha256:944b180f61f5e36c0634d3202ba8509b986b5fbaf57db3e94df11abee244ba13",
|
||||
"sha256:96b81ae75591a795d8c90edc0bfaab44d3d41ffc1aae4d994c5aa21d9b8e19a2",
|
||||
"sha256:981da26722bebb9247a0601e2922cedf8bb7a600e89c852d063313102de6f2cb",
|
||||
"sha256:ae9de71eb60940e58207f8e71fe113c639da42adb02fb2bcbcaccc1ccecd092b",
|
||||
"sha256:b73d4b78807bd299b38e4598b8e7bd34ed55d480160d2e7fdaabd9931afa65f9",
|
||||
"sha256:d4a5f6146cfa5c7ba0134249665acd322a70d1ea61732723c7d3e8cc0fa80755",
|
||||
"sha256:dd91006848eb55af2159375134d724032a2d1d13bcc6f81cd8d3ed9f2b8e846c",
|
||||
"sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a",
|
||||
"sha256:e6906d6f48437dfd80464f7d7af1740eadc572b9f7a4301e7dd3d65db285cacf",
|
||||
"sha256:e92d0d4fa68ea0c02d39f1e2f9cb5bc4b4a71e8c442207433d8db47ee79d7aa3",
|
||||
"sha256:e94b7d9deaa4cc7bac9198a58a7240aaf87fe56c6277ee25fa5b3aa1edebd229",
|
||||
"sha256:ea3e746e29d4000cd98d572f3ee2a6050a4f784bb536f4ac1f035987fc1ed83e",
|
||||
"sha256:ec7e20258ecc5174029a0f391e1b948bf2906cd64c198a9b8b281b811cbc04de",
|
||||
"sha256:ec9465dd69d5657b5d2fa6133b3e1e989ae27d29471a672416fd729b429eb554",
|
||||
"sha256:f122ccd12fdc69628786d0c947bdd9cb2733be8f800d88b5a37c57f1f1d73c10",
|
||||
"sha256:f99c0489258086308aad4ae57da9e8ecf9e1f3f30fa35d5e170b4d4896554d80",
|
||||
"sha256:f9c51d9af9abb899bd34ace878fbec8bf357b3194a10c4e8e0a25512826ef056",
|
||||
"sha256:fd76c47f20984b43d93de9a82011bb6e5f8325df6c9ed4d8310029a55fa361ea"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.12.1"
|
||||
"version": "==1.13.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,6 @@ Go to:
|
||||
Make a .env file with the following parameters.
|
||||
|
||||
```.env
|
||||
DISCORD_PREFIX=
|
||||
DISCORD_TOKEN=
|
||||
DISCORD_CLIENT_ID=
|
||||
DISCORD_MONGO_CLUSTER=
|
||||
|
||||
+7
-3
@@ -134,11 +134,15 @@ class API(commands.Cog):
|
||||
body = await request.json()
|
||||
return web.json_response(data=self.bot, status=200)
|
||||
|
||||
@server.add_route(path="/live", method="GET", cog="API")
|
||||
@server.add_route(path="/", method="POST", cog="API")
|
||||
# @server.check(predicate=checker, fail_handler="fail_handler")
|
||||
async def live(self, request: web.Request):
|
||||
async def home(self, request: web.Request):
|
||||
"""API home path."""
|
||||
return web.json_response(text="OK", status=200)
|
||||
body = await request.json()
|
||||
guild = await self.bot.fetch_guild(body["guild_id"])
|
||||
print(guild.text_channels)
|
||||
print(guild)
|
||||
return web.json_response(data={"foo": "bar"}, status=200)
|
||||
|
||||
@commands.command(name="save-context")
|
||||
async def save_context(self, ctx: commands.Context, context_id: str or None):
|
||||
|
||||
+20
-23
@@ -7,14 +7,11 @@ import os
|
||||
import requests
|
||||
import discord
|
||||
|
||||
from discord.ext import commands
|
||||
from discord.ext import commands, tasks
|
||||
from config.config import docker_role, masters
|
||||
|
||||
from rich import print
|
||||
|
||||
from config.config import masters
|
||||
|
||||
|
||||
DOCKER_ROLE="Docker"
|
||||
|
||||
|
||||
class Docker(commands.Cog):
|
||||
"""Manage my docker containers."""
|
||||
@@ -38,9 +35,9 @@ class Docker(commands.Cog):
|
||||
Only members with the docker role can run those commands."""
|
||||
print(masters)
|
||||
print(ctx.guild.members)
|
||||
if not DOCKER_ROLE in [role.name for role in ctx.guild.roles]:
|
||||
role = await ctx.guild.create_role(name=DOCKER_ROLE, colour=self.color)
|
||||
await ctx.send(f"> Created `{DOCKER_ROLE}` role.")
|
||||
if not docker_role in [role.name for role in ctx.guild.roles]:
|
||||
role = await ctx.guild.create_role(name=docker_role, colour=self.color)
|
||||
await ctx.send(f"> Created `{docker_role}` role.")
|
||||
members = []
|
||||
for master in masters:
|
||||
if member := await ctx.guild.fetch_member(master):
|
||||
@@ -50,13 +47,13 @@ class Docker(commands.Cog):
|
||||
if members:
|
||||
members = "\n".join(map(lambda m: f"+ {member}", members))
|
||||
await ctx.send(
|
||||
'```diff\nAdded "' + DOCKER_ROLE + '" role to:\n' + members + "```"
|
||||
'```diff\nAdded "' + docker_role + '" role to:\n' + members + "```"
|
||||
)
|
||||
return
|
||||
if not ctx.invoked_subcommand:
|
||||
await ctx.send(os.path.join(self.url, "docs"))
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def ps(self, ctx: commands.Context, *container_ids: str):
|
||||
"""Show status of some containers."""
|
||||
@@ -103,7 +100,7 @@ class Docker(commands.Cog):
|
||||
)
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def restart(self, ctx: commands.Context, *names: str):
|
||||
"""Restart some containers."""
|
||||
@@ -116,7 +113,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed restarting **{name}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def exec(self, ctx: commands.Context, name: str, *, command: str):
|
||||
"""Run a command in a container."""
|
||||
@@ -129,7 +126,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed to run **{command}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def kill(self, ctx: commands.Context, *names: str):
|
||||
"""Kill some containers."""
|
||||
@@ -142,7 +139,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed killing **{name}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def stop(self, ctx: commands.Context, *names: str):
|
||||
"""Stop some containers."""
|
||||
@@ -155,7 +152,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed stopping **{name}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command(aliases=["rm"])
|
||||
async def remove(self, ctx: commands.Context, *names: str):
|
||||
"""Remove some containers."""
|
||||
@@ -168,7 +165,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed removing **{name}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command(aliases=["p"])
|
||||
async def pause(self, ctx: commands.Context, *names: str):
|
||||
"""Pause some containers."""
|
||||
@@ -181,7 +178,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed pausing **{name}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command(aliases=["unp"])
|
||||
async def unpause(self, ctx: commands.Context, *names: str):
|
||||
"""Unpause some containers."""
|
||||
@@ -194,7 +191,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed pausing **{name}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command(aliases=["rn"])
|
||||
async def rename(self, ctx: commands.Context, name: str, to: str):
|
||||
"""Remove a container."""
|
||||
@@ -206,7 +203,7 @@ class Docker(commands.Cog):
|
||||
else:
|
||||
return await ctx.send(f"> Failed renaming **{name}** to **{to}**!")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def top(self, ctx: commands.Context, *names: str):
|
||||
"""Return the top proccesses of some containers."""
|
||||
@@ -233,7 +230,7 @@ class Docker(commands.Cog):
|
||||
text = text.replace('_', '‗')
|
||||
await ctx.send("```md\n" + text + "\n```")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def logs(self, ctx: commands.Context, name: str, since: int):
|
||||
"""Return the logs of a container."""
|
||||
@@ -288,7 +285,7 @@ class Docker(commands.Cog):
|
||||
print(text)
|
||||
await ctx.send(text + "\n```")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command()
|
||||
async def ids(self, ctx: commands.Context):
|
||||
"""List all containers."""
|
||||
@@ -306,7 +303,7 @@ class Docker(commands.Cog):
|
||||
print(text)
|
||||
await ctx.send(text + "\n")
|
||||
|
||||
@commands.has_role(DOCKER_ROLE)
|
||||
@commands.has_role(docker_role)
|
||||
@docker.command(aliases=["is"])
|
||||
async def images(self, ctx: commands.Context):
|
||||
"""List all images."""
|
||||
|
||||
+2
-1
@@ -15,10 +15,11 @@ cluster = MongoCluster(mongo_url)
|
||||
db = cluster.esclave
|
||||
|
||||
link = "https://discordapp.com/oauth2/authorize?&client_id=703347349623144549&scope=bot&permissions=8"
|
||||
prefix = os.environ.get("DISCORD_PREFIX") or "."
|
||||
prefix = os.environ["DISCORD_PREFIX"]
|
||||
masters = [478552571510915072] # , 219949869220102147]
|
||||
wolfram = wolframalpha.Client(wolfram_alpha_id)
|
||||
ialab_bot_url = "https://ialab.marcpartensky.com"
|
||||
docker_role = "Docker"
|
||||
|
||||
roles = ["@Maître", "@Admin"]
|
||||
|
||||
|
||||
+7
-6
@@ -1,12 +1,11 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
dev:
|
||||
image: marcpartensky/discord-bot:dev
|
||||
discord-bot-dev:
|
||||
image: marcpartensky/discord-bot
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
||||
ports:
|
||||
- "8000:8000"
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
@@ -14,9 +13,11 @@ services:
|
||||
- ./config:/app/config
|
||||
- ./models:/app/models
|
||||
- ./__main__.py:/app/__main__.py
|
||||
- ~/.config:/root/.config
|
||||
- ~/Downloads/squashfs-root/usr/bin/nvim:/usr/bin/nvim
|
||||
|
||||
prod:
|
||||
image: marcpartensky/discord-bot:latest
|
||||
discord-bot-prod:
|
||||
image: marcpartensky/discord-bot
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: .
|
||||
|
||||
+48
-56
@@ -1,54 +1,46 @@
|
||||
#
|
||||
# These requirements were autogenerated by pipenv
|
||||
# To regenerate from the project's Pipfile, run:
|
||||
#
|
||||
# pipenv lock --requirements
|
||||
#
|
||||
|
||||
-i https://pypi.org/simple
|
||||
aenum==3.1.5
|
||||
aiohttp==3.7.4.post0
|
||||
appdirs==1.4.4
|
||||
astroid==2.6.6
|
||||
async-generator==1.10; python_version >= '3.5'
|
||||
astroid==2.9.0
|
||||
async-generator==1.10
|
||||
async-timeout==3.0.1
|
||||
attrs==21.2.0
|
||||
autopep8==1.6.0
|
||||
backports.entry-points-selectable==1.1.1; python_version >= '2.7'
|
||||
backports.zoneinfo==0.2.1; python_version < '3.9'
|
||||
backports.entry-points-selectable==1.1.1
|
||||
backports.zoneinfo==0.2.1
|
||||
beautifulsoup4==4.10.0
|
||||
black==21.12b0
|
||||
bs4==0.0.1
|
||||
cachetools==5.0.0; python_version ~= '3.7'
|
||||
cachetools==4.2.4
|
||||
certifi==2021.10.8
|
||||
cffi==1.15.0
|
||||
cfgv==3.3.1
|
||||
chardet==4.0.0
|
||||
charset-normalizer==2.0.9; python_version >= '3'
|
||||
charset-normalizer==2.0.9
|
||||
click==7.1.2
|
||||
colorama==0.4.4
|
||||
commonmark==0.9.1
|
||||
cryptography==36.0.1
|
||||
datetime==4.3
|
||||
deprecated==1.2.13
|
||||
DateTime==4.3
|
||||
Deprecated==1.2.13
|
||||
discord.py @ git+https://github.com/Rapptz/discord.py@45d498c1b76deaf3b394d17ccf56112fa691d160
|
||||
distlib==0.3.4
|
||||
dnspython==2.2.0rc1
|
||||
dnspython==2.1.0
|
||||
dpy-http-server==0.1.0
|
||||
fake-useragent==0.1.11
|
||||
filelock==3.4.2
|
||||
fbchat @ git+git://github.com/carpedm20/fbchat.git@916a14062d31f3624dfe8dd4ab672648a3e508c0
|
||||
filelock==3.4.0
|
||||
future==0.18.2
|
||||
git+git://github.com/carpedm20/fbchat.git@916a14062d31f3624dfe8dd4ab672648a3e508c0#egg=fbchat
|
||||
git+https://github.com/Rapptz/discord.py#egg=discord.py
|
||||
gtts-token==1.1.4
|
||||
gtts==2.2.3
|
||||
h11==0.12.0; python_version >= '3.6'
|
||||
gTTS==2.2.3
|
||||
gTTS-token==1.1.4
|
||||
h11==0.12.0
|
||||
html2text==2020.1.16
|
||||
identify==2.4.0
|
||||
idna==3.3
|
||||
importlib-metadata==4.10.0; python_version >= '3.7'
|
||||
importlib-metadata==4.10.0
|
||||
inflect==5.3.0
|
||||
isort==5.10.1
|
||||
jaraco.context==4.1.1; python_version >= '3.6'
|
||||
jaraco.context==4.1.1
|
||||
jaraco.itertools==6.0.3
|
||||
jedi==0.18.1
|
||||
jeepney==0.7.1
|
||||
@@ -64,73 +56,73 @@ multidict==5.2.0
|
||||
mypy-extensions==0.4.3
|
||||
nightcore==1.1.0
|
||||
nodeenv==1.6.0
|
||||
numpy==1.22.0rc3
|
||||
outcome==1.1.0; python_version >= '3.6'
|
||||
packaging==21.3; python_version >= '3.6'
|
||||
numpy==1.21.5
|
||||
outcome==1.1.0
|
||||
packaging==21.3
|
||||
paho-mqtt==1.6.1
|
||||
parso==0.8.3
|
||||
pathspec==0.9.0
|
||||
pillow==8.4.0
|
||||
platformdirs==2.4.1; python_version >= '3.7'
|
||||
Pillow==8.4.0
|
||||
platformdirs==2.4.0
|
||||
pluggy==1.0.0
|
||||
pre-commit==2.16.0
|
||||
profanity-check==1.0.3
|
||||
progressbar2==3.55.0
|
||||
py==1.11.0
|
||||
pycodestyle==2.8.0
|
||||
pycparser==2.21
|
||||
pydub==0.23.1
|
||||
pygithub==1.55
|
||||
pygments==2.10.0
|
||||
pyjwt==2.3.0
|
||||
pylint==3.0.0a4
|
||||
PyGithub==1.55
|
||||
Pygments==2.10.0
|
||||
PyJWT==2.3.0
|
||||
pylint==2.12.2
|
||||
pymongo==4.0.1
|
||||
pymysql==1.0.2
|
||||
pynacl==1.4.0
|
||||
pyopenssl==21.0.0
|
||||
PyMySQL==1.0.2
|
||||
PyNaCl==1.4.0
|
||||
pyOpenSSL==21.0.0
|
||||
pyparsing==3.0.6
|
||||
pysocks==1.7.1
|
||||
PySocks==1.7.1
|
||||
python-dotenv==0.19.2
|
||||
python-utils==2.6.3
|
||||
pytz-deprecation-shim==0.1.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
|
||||
pytz==2021.3
|
||||
pyyaml==6.0
|
||||
pytz-deprecation-shim==0.1.0.post0
|
||||
PyYAML==6.0
|
||||
regex==2021.11.10
|
||||
requests-futures==1.0.0
|
||||
requests==2.26.0
|
||||
requests-futures==1.0.0
|
||||
rich==10.16.1
|
||||
scikit-learn==1.0.2
|
||||
scipy==1.8.0rc2
|
||||
secretstorage==3.3.1
|
||||
scikit-learn==1.0.1
|
||||
scipy==1.7.3
|
||||
SecretStorage==3.3.1
|
||||
selenium==4.1.0
|
||||
setuptools==60.1.0; python_version >= '3.7'
|
||||
six==1.16.0
|
||||
sniffio==1.2.0; python_version >= '3.5'
|
||||
sniffio==1.2.0
|
||||
sortedcontainers==2.4.0
|
||||
soupsieve==2.3.1
|
||||
stem==1.8.0
|
||||
threadpoolctl==3.0.0
|
||||
toml==0.10.2
|
||||
tomli==1.2.3; python_version >= '3.6'
|
||||
tomli==1.2.3
|
||||
torrequest==0.1.0
|
||||
tox==4.0.0a9
|
||||
tox==3.24.4
|
||||
translate==3.6.1
|
||||
trio-websocket==0.9.2; python_version >= '3.5'
|
||||
trio==0.19.0; python_version >= '3.6'
|
||||
trio==0.19.0
|
||||
trio-websocket==0.9.2
|
||||
typed-ast==1.5.1
|
||||
typing-extensions==4.0.1
|
||||
tzdata==2021.5; python_version >= '3.6'
|
||||
typing_extensions==4.0.1
|
||||
tzdata==2021.5
|
||||
tzlocal==4.1
|
||||
unidecode==1.3.2
|
||||
Unidecode==1.3.2
|
||||
urllib3==1.26.7
|
||||
vcrpy==4.1.1
|
||||
virtualenv==20.10.0
|
||||
websockets==10.1
|
||||
wikipedia==1.4.0
|
||||
wolframalpha==5.0.0
|
||||
wrapt==1.12.1
|
||||
wsproto==1.0.0; python_full_version >= '3.6.1'
|
||||
wrapt==1.13.3
|
||||
wsproto==1.0.0
|
||||
xmltodict==0.12.0
|
||||
yarl==1.7.2
|
||||
youtube-dl==2021.12.17
|
||||
zipp==3.6.0; python_version >= '3.6'
|
||||
zipp==3.6.0
|
||||
zope.interface==5.4.0
|
||||
|
||||
Reference in New Issue
Block a user