Merge branch 'master' of github.com:mongodb/mongo-python-driver
This commit is contained in:
commit
a573ba0396
@ -304,17 +304,6 @@ functions:
|
||||
args:
|
||||
- ${DRIVERS_TOOLS}/.evergreen/atlas/teardown-atlas-cluster.sh
|
||||
|
||||
"run perf tests":
|
||||
- command: subprocess.exec
|
||||
type: test
|
||||
params:
|
||||
working_dir: "src"
|
||||
binary: bash
|
||||
include_expansions_in_env: [SUB_TEST_NAME]
|
||||
args:
|
||||
- .evergreen/scripts/run-with-env.sh
|
||||
- .evergreen/scripts/run-perf-tests.sh
|
||||
|
||||
"attach benchmark test results":
|
||||
- command: attach.results
|
||||
params:
|
||||
@ -461,84 +450,6 @@ tasks:
|
||||
commands:
|
||||
- func: "download and merge coverage"
|
||||
|
||||
- name: "perf-6.0-standalone"
|
||||
tags: ["perf"]
|
||||
commands:
|
||||
- func: "run server"
|
||||
vars:
|
||||
VERSION: "v6.0-perf"
|
||||
- func: "run perf tests"
|
||||
vars:
|
||||
SUB_TEST_NAME: "sync"
|
||||
- func: "attach benchmark test results"
|
||||
- func: "send dashboard data"
|
||||
|
||||
- name: "perf-6.0-standalone-ssl"
|
||||
tags: ["perf"]
|
||||
commands:
|
||||
- func: "run server"
|
||||
vars:
|
||||
VERSION: "v6.0-perf"
|
||||
SSL: "ssl"
|
||||
- func: "run perf tests"
|
||||
vars:
|
||||
SUB_TEST_NAME: "sync"
|
||||
- func: "attach benchmark test results"
|
||||
- func: "send dashboard data"
|
||||
|
||||
- name: "perf-8.0-standalone"
|
||||
tags: ["perf"]
|
||||
commands:
|
||||
- func: "run server"
|
||||
vars:
|
||||
VERSION: "8.0"
|
||||
- func: "run perf tests"
|
||||
vars:
|
||||
SUB_TEST_NAME: "sync"
|
||||
- func: "attach benchmark test results"
|
||||
- func: "send dashboard data"
|
||||
|
||||
- name: "perf-6.0-standalone-async"
|
||||
tags: [ "perf" ]
|
||||
commands:
|
||||
- func: "run server"
|
||||
vars:
|
||||
VERSION: "v6.0-perf"
|
||||
TOPOLOGY: "server"
|
||||
- func: "run perf tests"
|
||||
vars:
|
||||
SUB_TEST_NAME: "async"
|
||||
- func: "attach benchmark test results"
|
||||
- func: "send dashboard data"
|
||||
|
||||
- name: "perf-6.0-standalone-ssl-async"
|
||||
tags: [ "perf" ]
|
||||
commands:
|
||||
- func: "run server"
|
||||
vars:
|
||||
VERSION: "v6.0-perf"
|
||||
TOPOLOGY: "server"
|
||||
SSL: "ssl"
|
||||
- func: "run perf tests"
|
||||
vars:
|
||||
SUB_TEST_NAME: "async"
|
||||
- func: "attach benchmark test results"
|
||||
- func: "send dashboard data"
|
||||
|
||||
- name: "perf-8.0-standalone-async"
|
||||
tags: [ "perf" ]
|
||||
commands:
|
||||
- func: "run server"
|
||||
vars:
|
||||
VERSION: "8.0"
|
||||
TOPOLOGY: "server"
|
||||
- func: "run perf tests"
|
||||
vars:
|
||||
SUB_TEST_NAME: "async"
|
||||
- func: "attach benchmark test results"
|
||||
- func: "send dashboard data"
|
||||
|
||||
|
||||
- name: "check-import-time"
|
||||
tags: ["pr"]
|
||||
commands:
|
||||
@ -610,15 +521,3 @@ buildvariants:
|
||||
- rhel8.7-small
|
||||
tasks:
|
||||
- name: "backport-pr"
|
||||
|
||||
- name: "perf-tests"
|
||||
display_name: "Performance Benchmarks"
|
||||
batchtime: 10080 # 7 days
|
||||
run_on: rhel90-dbx-perf-large
|
||||
tasks:
|
||||
- name: "perf-6.0-standalone"
|
||||
- name: "perf-6.0-standalone-ssl"
|
||||
- name: "perf-8.0-standalone"
|
||||
- name: "perf-6.0-standalone-async"
|
||||
- name: "perf-6.0-standalone-ssl-async"
|
||||
- name: "perf-8.0-standalone-async"
|
||||
|
||||
@ -1151,6 +1151,60 @@ tasks:
|
||||
SUB_TEST_NAME: gke
|
||||
tags: [auth_oidc, auth_oidc_remote]
|
||||
|
||||
# Perf tests
|
||||
- name: perf-8.0-standalone-ssl
|
||||
commands:
|
||||
- func: run server
|
||||
vars:
|
||||
VERSION: v8.0-perf
|
||||
SSL: ssl
|
||||
- func: run tests
|
||||
vars:
|
||||
TEST_NAME: perf
|
||||
SUB_TEST_NAME: sync
|
||||
- func: attach benchmark test results
|
||||
- func: send dashboard data
|
||||
tags: [perf]
|
||||
- name: perf-8.0-standalone-ssl-async
|
||||
commands:
|
||||
- func: run server
|
||||
vars:
|
||||
VERSION: v8.0-perf
|
||||
SSL: ssl
|
||||
- func: run tests
|
||||
vars:
|
||||
TEST_NAME: perf
|
||||
SUB_TEST_NAME: async
|
||||
- func: attach benchmark test results
|
||||
- func: send dashboard data
|
||||
tags: [perf]
|
||||
- name: perf-8.0-standalone
|
||||
commands:
|
||||
- func: run server
|
||||
vars:
|
||||
VERSION: v8.0-perf
|
||||
SSL: nossl
|
||||
- func: run tests
|
||||
vars:
|
||||
TEST_NAME: perf
|
||||
SUB_TEST_NAME: sync
|
||||
- func: attach benchmark test results
|
||||
- func: send dashboard data
|
||||
tags: [perf]
|
||||
- name: perf-8.0-standalone-async
|
||||
commands:
|
||||
- func: run server
|
||||
vars:
|
||||
VERSION: v8.0-perf
|
||||
SSL: nossl
|
||||
- func: run tests
|
||||
vars:
|
||||
TEST_NAME: perf
|
||||
SUB_TEST_NAME: async
|
||||
- func: attach benchmark test results
|
||||
- func: send dashboard data
|
||||
tags: [perf]
|
||||
|
||||
# Server tests
|
||||
- name: test-4.0-standalone-auth-ssl-sync
|
||||
commands:
|
||||
|
||||
@ -928,6 +928,15 @@ buildvariants:
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
|
||||
# Perf tests
|
||||
- name: performance-benchmarks
|
||||
tasks:
|
||||
- name: .perf
|
||||
display_name: Performance Benchmarks
|
||||
run_on:
|
||||
- rhel90-dbx-perf-large
|
||||
batchtime: 10080
|
||||
|
||||
# Pyopenssl tests
|
||||
- name: pyopenssl-macos-python3.9
|
||||
tasks:
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -o xtrace
|
||||
set -o errexit
|
||||
|
||||
git clone --depth 1 https://github.com/mongodb/specifications.git
|
||||
pushd specifications/source/benchmarking/data
|
||||
tar xf extended_bson.tgz
|
||||
tar xf parallel.tgz
|
||||
tar xf single_and_multi_document.tgz
|
||||
popd
|
||||
|
||||
export TEST_PATH="${PROJECT_DIRECTORY}/specifications/source/benchmarking/data"
|
||||
export OUTPUT_FILE="${PROJECT_DIRECTORY}/results.json"
|
||||
|
||||
export PYTHON_BINARY=/opt/mongodbtoolchain/v4/bin/python3
|
||||
|
||||
bash ./.evergreen/just.sh setup-tests perf "${SUB_TEST_NAME}"
|
||||
bash ./.evergreen/just.sh run-tests
|
||||
@ -31,9 +31,10 @@ if [ -f "./secrets-export.sh" ]; then
|
||||
fi
|
||||
|
||||
# List the packages.
|
||||
PIP_QUIET=0 uv run ${UV_ARGS} --with pip pip list
|
||||
uv sync ${UV_ARGS} --reinstall
|
||||
uv pip list
|
||||
|
||||
# Start the test runner.
|
||||
uv run ${UV_ARGS} .evergreen/scripts/run_tests.py "$@"
|
||||
uv run .evergreen/scripts/run_tests.py "$@"
|
||||
|
||||
popd
|
||||
|
||||
@ -69,6 +69,7 @@ HOSTS["macos-arm64"] = Host("macos-arm64", "macos-14-arm64", "macOS Arm64", dict
|
||||
HOSTS["ubuntu20"] = Host("ubuntu20", "ubuntu2004-small", "Ubuntu-20", dict())
|
||||
HOSTS["ubuntu22"] = Host("ubuntu22", "ubuntu2204-small", "Ubuntu-22", dict())
|
||||
HOSTS["rhel7"] = Host("rhel7", "rhel79-small", "RHEL7", dict())
|
||||
HOSTS["perf"] = Host("perf", "rhel90-dbx-perf-large", "", dict())
|
||||
DEFAULT_HOST = HOSTS["rhel8"]
|
||||
|
||||
# Other hosts
|
||||
@ -722,6 +723,13 @@ def create_atlas_connect_variants():
|
||||
]
|
||||
|
||||
|
||||
def create_perf_variants():
|
||||
host = HOSTS["perf"]
|
||||
return [
|
||||
create_variant([".perf"], "Performance Benchmarks", host=host, batchtime=BATCHTIME_WEEK)
|
||||
]
|
||||
|
||||
|
||||
def create_aws_auth_variants():
|
||||
variants = []
|
||||
|
||||
@ -942,6 +950,26 @@ def create_enterprise_auth_tasks():
|
||||
return [EvgTask(name=task_name, tags=tags, commands=[server_func, assume_func, test_func])]
|
||||
|
||||
|
||||
def create_perf_tasks():
|
||||
tasks = []
|
||||
for version, ssl, sync in product(["8.0"], ["ssl", "nossl"], ["sync", "async"]):
|
||||
vars = dict(VERSION=f"v{version}-perf", SSL=ssl)
|
||||
server_func = FunctionCall(func="run server", vars=vars)
|
||||
vars = dict(TEST_NAME="perf", SUB_TEST_NAME=sync)
|
||||
test_func = FunctionCall(func="run tests", vars=vars)
|
||||
attach_func = FunctionCall(func="attach benchmark test results")
|
||||
send_func = FunctionCall(func="send dashboard data")
|
||||
task_name = f"perf-{version}-standalone"
|
||||
if ssl == "ssl":
|
||||
task_name += "-ssl"
|
||||
if sync == "async":
|
||||
task_name += "-async"
|
||||
tags = ["perf"]
|
||||
commands = [server_func, test_func, attach_func, send_func]
|
||||
tasks.append(EvgTask(name=task_name, tags=tags, commands=commands))
|
||||
return tasks
|
||||
|
||||
|
||||
def create_ocsp_tasks():
|
||||
tasks = []
|
||||
tests = [
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
PROJECT_DIRECTORY=${PROJECT_DIRECTORY}
|
||||
SUB_TEST_NAME=${SUB_TEST_NAME} bash "${PROJECT_DIRECTORY}"/.evergreen/run-perf-tests.sh
|
||||
@ -4,7 +4,6 @@ import json
|
||||
import logging
|
||||
import os
|
||||
import platform
|
||||
import shutil
|
||||
import sys
|
||||
from datetime import datetime
|
||||
|
||||
@ -142,10 +141,6 @@ def run() -> None:
|
||||
if TEST_PERF:
|
||||
handle_perf(start_time)
|
||||
|
||||
# Handle coverage post actions.
|
||||
if os.environ.get("COVERAGE"):
|
||||
shutil.rmtree(".pytest_cache", ignore_errors=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
||||
|
||||
@ -43,6 +43,9 @@ EXTRAS_MAP = {
|
||||
# Map the test name to test group.
|
||||
GROUP_MAP = dict(mockupdb="mockupdb", perf="perf")
|
||||
|
||||
# The python version used for perf tests.
|
||||
PERF_PYTHON_VERSION = "3.9.13"
|
||||
|
||||
|
||||
def is_set(var: str) -> bool:
|
||||
value = os.environ.get(var, "")
|
||||
@ -362,6 +365,19 @@ def handle_test_env() -> None:
|
||||
write_env("DISABLE_CONTEXT")
|
||||
|
||||
if test_name == "perf":
|
||||
data_dir = ROOT / "specifications/source/benchmarking/data"
|
||||
if not data_dir.exists():
|
||||
run_command("git clone --depth 1 https://github.com/mongodb/specifications.git")
|
||||
run_command("tar xf extended_bson.tgz", cwd=data_dir)
|
||||
run_command("tar xf parallel.tgz", cwd=data_dir)
|
||||
run_command("tar xf single_and_multi_document.tgz", cwd=data_dir)
|
||||
write_env("TEST_PATH", str(data_dir))
|
||||
write_env("OUTPUT_FILE", str(ROOT / "results.json"))
|
||||
# Overwrite the UV_PYTHON from the env.sh file.
|
||||
write_env("UV_PYTHON", "")
|
||||
|
||||
UV_ARGS.append(f"--python={PERF_PYTHON_VERSION}")
|
||||
|
||||
# PYTHON-4769 Run perf_test.py directly otherwise pytest's test collection negatively
|
||||
# affects the benchmark results.
|
||||
if sub_test_name == "sync":
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from utils import DRIVERS_TOOLS, LOGGER, run_command
|
||||
from utils import DRIVERS_TOOLS, LOGGER, ROOT, run_command
|
||||
|
||||
TEST_NAME = os.environ.get("TEST_NAME", "unconfigured")
|
||||
SUB_TEST_NAME = os.environ.get("SUB_TEST_NAME")
|
||||
@ -44,10 +46,19 @@ elif TEST_NAME == "serverless":
|
||||
elif TEST_NAME == "auth_aws" and sys.platform != "darwin":
|
||||
run_command(f"bash {DRIVERS_TOOLS}/.evergreen/auth_aws/teardown.sh")
|
||||
|
||||
# Tear down perf if applicable.
|
||||
elif TEST_NAME == "perf":
|
||||
shutil.rmtree(ROOT / "specifications", ignore_errors=True)
|
||||
Path(os.environ["OUTPUT_FILE"]).unlink(missing_ok=True)
|
||||
|
||||
# Tear down mog_wsgi if applicable.
|
||||
elif TEST_NAME == "mod_wsgi":
|
||||
from mod_wsgi_tester import teardown_mod_wsgi
|
||||
|
||||
teardown_mod_wsgi()
|
||||
|
||||
# Tear down coverage if applicable.
|
||||
if os.environ.get("COVERAGE"):
|
||||
shutil.rmtree(".pytest_cache", ignore_errors=True)
|
||||
|
||||
LOGGER.info(f"Tearing down tests of type '{TEST_NAME}'... done.")
|
||||
|
||||
@ -50,7 +50,7 @@ TEST_SUITE_MAP = {
|
||||
}
|
||||
|
||||
# Tests that require a sub test suite.
|
||||
SUB_TEST_REQUIRED = ["auth_aws", "auth_oidc", "kms", "mod_wsgi"]
|
||||
SUB_TEST_REQUIRED = ["auth_aws", "auth_oidc", "kms", "mod_wsgi", "perf"]
|
||||
|
||||
EXTRA_TESTS = ["mod_wsgi"]
|
||||
|
||||
|
||||
12
.github/workflows/test-python.yml
vendored
12
.github/workflows/test-python.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install just
|
||||
uses: extractions/setup-just@v2
|
||||
uses: extractions/setup-just@v3
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
@ -63,7 +63,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install just
|
||||
uses: extractions/setup-just@v2
|
||||
uses: extractions/setup-just@v3
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
@ -86,7 +86,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install just
|
||||
uses: extractions/setup-just@v2
|
||||
uses: extractions/setup-just@v3
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
@ -114,7 +114,7 @@ jobs:
|
||||
enable-cache: true
|
||||
python-version: "3.9"
|
||||
- name: Install just
|
||||
uses: extractions/setup-just@v2
|
||||
uses: extractions/setup-just@v3
|
||||
- name: Install dependencies
|
||||
run: just install
|
||||
- name: Build docs
|
||||
@ -133,7 +133,7 @@ jobs:
|
||||
enable-cache: true
|
||||
python-version: "3.9"
|
||||
- name: Install just
|
||||
uses: extractions/setup-just@v2
|
||||
uses: extractions/setup-just@v3
|
||||
- name: Install dependencies
|
||||
run: just install
|
||||
- name: Build docs
|
||||
@ -155,7 +155,7 @@ jobs:
|
||||
enable-cache: true
|
||||
python-version: "${{matrix.python}}"
|
||||
- name: Install just
|
||||
uses: extractions/setup-just@v2
|
||||
uses: extractions/setup-just@v3
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
just install
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -27,6 +27,8 @@ expansion.yml
|
||||
*expansions.yml
|
||||
.evergreen/scripts/env.sh
|
||||
.evergreen/scripts/test-env.sh
|
||||
specifications/
|
||||
results.json
|
||||
|
||||
# Lambda temp files
|
||||
test/lambda/.aws-sam
|
||||
|
||||
@ -297,6 +297,12 @@ The `mode` can be `standalone` or `embedded`. For the `replica_set` version of
|
||||
|
||||
If you are running one of the `no-responder` tests, omit the `run-server` step.
|
||||
|
||||
### Perf Tests
|
||||
|
||||
- Start the appropriate server, e.g. `just run-server --version=v8.0-perf --ssl`.
|
||||
- Set up the tests with `sync` or `async`: `just setup-tests perf sync`.
|
||||
- Run the tests: `just run-tests`.
|
||||
|
||||
## Enable Debug Logs
|
||||
- Use `-o log_cli_level="DEBUG" -o log_cli=1` with `just test` or `pytest`.
|
||||
- Add `log_cli_level = "DEBUG` and `log_cli = 1` to the `tool.pytest.ini_options` section in `pyproject.toml` for Evergreen patches or to enable debug logs by default on your machine.
|
||||
|
||||
@ -3,7 +3,7 @@ API Documentation
|
||||
|
||||
The PyMongo distribution contains three top-level packages for
|
||||
interacting with MongoDB. :mod:`bson` is an implementation of the
|
||||
`BSON format <http://bsonspec.org>`_, :mod:`pymongo` is a
|
||||
`BSON format <https://bsonspec.org>`_, :mod:`pymongo` is a
|
||||
full-featured driver for MongoDB, and :mod:`gridfs` is a set of tools
|
||||
for working with the `GridFS
|
||||
<https://github.com/mongodb/specifications/blob/master/source/gridfs/gridfs-spec.md/>`_ storage
|
||||
|
||||
@ -385,7 +385,7 @@ Indexing
|
||||
Adding indexes can help accelerate certain queries and can also add additional
|
||||
functionality to querying and storing documents. In this example, we'll
|
||||
demonstrate how to create a `unique index
|
||||
<http://mongodb.com/docs/manual/core/index-unique/>`_ on a key that rejects
|
||||
<https://mongodb.com/docs/manual/core/index-unique/>`_ on a key that rejects
|
||||
documents whose value for that key already exists in the index.
|
||||
|
||||
First, we'll need to create the index:
|
||||
|
||||
@ -3067,7 +3067,7 @@ fixes. Highlights include:
|
||||
:class:`~gridfs.grid_file.GridOutCursor`.
|
||||
- Greatly improved :doc:`support for mod_wsgi </examples/mod_wsgi>` when using
|
||||
PyMongo's C extensions. Read `Jesse's blog post
|
||||
<http://emptysqua.re/blog/python-c-extensions-and-mod-wsgi/>`_ for details.
|
||||
<https://emptysqua.re/blog/python-c-extensions-and-mod-wsgi/>`_ for details.
|
||||
- Improved C extension support for ARM little endian.
|
||||
|
||||
Breaking changes
|
||||
@ -3322,7 +3322,7 @@ Important New Features:
|
||||
- Support for mongos failover.
|
||||
- A new :meth:`~pymongo.collection.Collection.aggregate` method to support
|
||||
MongoDB's new `aggregation framework
|
||||
<http://mongodb.com/docs/manual/applications/aggregation/>`_.
|
||||
<https://mongodb.com/docs/manual/applications/aggregation/>`_.
|
||||
- Support for legacy Java and C# byte order when encoding and decoding UUIDs.
|
||||
- Support for connecting directly to an arbiter.
|
||||
|
||||
@ -3686,7 +3686,7 @@ Changes in Version 1.9 (2010/09/28)
|
||||
|
||||
Version 1.9 adds a new package to the PyMongo distribution,
|
||||
:mod:`bson`. :mod:`bson` contains all of the `BSON
|
||||
<http://bsonspec.org>`_ encoding and decoding logic, and the BSON
|
||||
<https://bsonspec.org>`_ encoding and decoding logic, and the BSON
|
||||
types that were formerly in the :mod:`pymongo` package. The following
|
||||
modules have been renamed:
|
||||
|
||||
@ -3819,7 +3819,7 @@ Changes in Version 1.7 (2010/06/17)
|
||||
Version 1.7 is a recommended upgrade for all PyMongo users. The full
|
||||
release notes are below, and some more in depth discussion of the
|
||||
highlights is `here
|
||||
<http://dirolf.com/2010/06/17/pymongo-1.7-released.html>`_.
|
||||
<https://dirolf.com/2010/06/17/pymongo-1.7-released.html>`_.
|
||||
|
||||
- no longer attempt to build the C extension on big-endian systems.
|
||||
- added :class:`~bson.min_key.MinKey` and
|
||||
@ -3870,7 +3870,7 @@ The biggest change in version 1.6 is a complete re-implementation of
|
||||
:mod:`gridfs` with a lot of improvements over the old
|
||||
implementation. There are many details and examples of using the new
|
||||
API in `this blog post
|
||||
<http://dirolf.com/2010/03/29/new-gridfs-implementation-for-pymongo.html>`_. The
|
||||
<https://dirolf.com/2010/03/29/new-gridfs-implementation-for-pymongo.html>`_. The
|
||||
old API has been removed in this version, so existing code will need
|
||||
to be modified before upgrading to 1.6.
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@ deprecated PyMongo features.
|
||||
.. seealso:: The Python documentation on `the warnings module`_,
|
||||
and `the -W command line option`_.
|
||||
|
||||
.. _semantic versioning: http://semver.org/
|
||||
.. _semantic versioning: https://semver.org/
|
||||
|
||||
.. _DeprecationWarning:
|
||||
https://docs.python.org/3/library/exceptions.html#DeprecationWarning
|
||||
|
||||
@ -88,7 +88,7 @@ linkcheck_ignore = [
|
||||
"https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-monitoring.md#requesting-an-immediate-check",
|
||||
"https://github.com/mongodb/libmongocrypt/blob/master/bindings/python/README.rst#installing-from-source",
|
||||
r"https://wiki.centos.org/[\w/]*",
|
||||
r"http://sourceforge.net/",
|
||||
r"https://sourceforge.net/",
|
||||
]
|
||||
|
||||
# -- Options for extensions ----------------------------------------------------
|
||||
|
||||
@ -87,4 +87,4 @@ you can add computed fields, create new virtual sub-objects, and extract
|
||||
sub-fields into the top-level of results.
|
||||
|
||||
.. seealso:: The full documentation for MongoDB's `aggregation framework
|
||||
<http://mongodb.com/docs/manual/applications/aggregation>`_
|
||||
<https://mongodb.com/docs/manual/applications/aggregation>`_
|
||||
|
||||
@ -191,7 +191,7 @@ Two extra ``authMechanismProperties`` are supported on Windows platforms:
|
||||
>>> uri = "mongodb://mongodbuser%40EXAMPLE.COM@example.com/?authMechanism=GSSAPI&authMechanismProperties=SERVICE_REALM:otherrealm"
|
||||
|
||||
|
||||
.. _kerberos: http://pypi.python.org/pypi/kerberos
|
||||
.. _kerberos: https://pypi.python.org/pypi/kerberos
|
||||
.. _pykerberos: https://pypi.python.org/pypi/pykerberos
|
||||
.. _winkerberos: https://pypi.python.org/pypi/winkerberos/
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ Versions of PyMongo before 3.0 included a ``copy_database`` helper method,
|
||||
but it has been removed.
|
||||
|
||||
.. _copyDatabase function in the mongo shell:
|
||||
http://mongodb.com/docs/manual/reference/method/db.copyDatabase/
|
||||
https://mongodb.com/docs/manual/reference/method/db.copyDatabase/
|
||||
|
||||
.. _Copy a Database:
|
||||
https://www.mongodb.com/docs/database-tools/mongodump/mongodump-examples/#copy-and-clone-databases
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Gevent
|
||||
======
|
||||
|
||||
PyMongo supports `Gevent <http://www.gevent.org/>`_. Simply call Gevent's
|
||||
PyMongo supports `Gevent <https://www.gevent.org/>`_. Simply call Gevent's
|
||||
``monkey.patch_all()`` before loading any other modules:
|
||||
|
||||
.. code-block:: pycon
|
||||
|
||||
@ -14,7 +14,7 @@ objects (e.g. files) in MongoDB.
|
||||
.. seealso:: The API docs for :mod:`gridfs`.
|
||||
|
||||
.. seealso:: `This blog post
|
||||
<http://dirolf.com/2010/03/29/new-gridfs-implementation-for-pymongo.html>`_
|
||||
<https://dirolf.com/2010/03/29/new-gridfs-implementation-for-pymongo.html>`_
|
||||
for some motivation behind this API.
|
||||
|
||||
Setup
|
||||
|
||||
@ -2,7 +2,7 @@ High Availability and PyMongo
|
||||
=============================
|
||||
|
||||
PyMongo makes it easy to write highly available applications whether
|
||||
you use a `single replica set <http://dochub.mongodb.org/core/rs>`_
|
||||
you use a `single replica set <https://dochub.mongodb.org/core/rs>`_
|
||||
or a `large sharded cluster
|
||||
<https://www.mongodb.com/docs/manual/sharding/>`_.
|
||||
|
||||
@ -10,17 +10,17 @@ Connecting to a Replica Set
|
||||
---------------------------
|
||||
|
||||
PyMongo makes working with `replica sets
|
||||
<http://dochub.mongodb.org/core/rs>`_ easy. Here we'll launch a new
|
||||
<https://dochub.mongodb.org/core/rs>`_ easy. Here we'll launch a new
|
||||
replica set and show how to handle both initialization and normal
|
||||
connections with PyMongo.
|
||||
|
||||
.. seealso:: The MongoDB documentation on `replication <http://dochub.mongodb.org/core/rs>`_.
|
||||
.. seealso:: The MongoDB documentation on `replication <https://dochub.mongodb.org/core/rs>`_.
|
||||
|
||||
Starting a Replica Set
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The main `replica set documentation
|
||||
<http://dochub.mongodb.org/core/rs>`_ contains extensive information
|
||||
<https://dochub.mongodb.org/core/rs>`_ contains extensive information
|
||||
about setting up a new replica set or migrating an existing MongoDB
|
||||
setup, be sure to check that out. Here, we'll just do the bare minimum
|
||||
to get a three node replica set setup locally.
|
||||
|
||||
@ -6,7 +6,7 @@ of how to accomplish specific tasks with MongoDB and PyMongo.
|
||||
|
||||
Unless otherwise noted, all examples assume that a MongoDB instance is
|
||||
running on the default host and port. Assuming you have `downloaded
|
||||
and installed <http://www.mongodb.org/display/DOCS/Getting+Started>`_
|
||||
and installed <https://www.mongodb.org/display/DOCS/Getting+Started>`_
|
||||
MongoDB, you can start it like so:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@ -3,7 +3,7 @@ TLS/SSL and PyMongo
|
||||
|
||||
PyMongo supports connecting to MongoDB over TLS/SSL. This guide covers the
|
||||
configuration options supported by PyMongo. See `the server documentation
|
||||
<http://mongodb.com/docs/manual/tutorial/configure-ssl/>`_ to configure
|
||||
<https://mongodb.com/docs/manual/tutorial/configure-ssl/>`_ to configure
|
||||
MongoDB.
|
||||
|
||||
.. warning:: Industry best practices recommend, and some regulations require,
|
||||
|
||||
14
doc/faq.rst
14
doc/faq.rst
@ -53,9 +53,9 @@ a non `async-signal-safe`_ function. For examples of deadlocks or crashes
|
||||
that could occur see `PYTHON-3406`_.
|
||||
|
||||
For a long but interesting read about the problems of Python locks in
|
||||
multithreaded contexts with ``fork()``, see http://bugs.python.org/issue6721.
|
||||
multithreaded contexts with ``fork()``, see https://bugs.python.org/issue6721.
|
||||
|
||||
.. _not fork-safe: http://bugs.python.org/issue6721
|
||||
.. _not fork-safe: https://bugs.python.org/issue6721
|
||||
.. _OpenSSL: https://github.com/openssl/openssl/issues/19066
|
||||
.. _fork(): https://man7.org/linux/man-pages/man2/fork.2.html
|
||||
.. _signal-safety(7): https://man7.org/linux/man-pages/man7/signal-safety.7.html
|
||||
@ -174,10 +174,10 @@ Does PyMongo support asynchronous frameworks like Gevent, asyncio, Tornado, or T
|
||||
PyMongo fully supports :doc:`Gevent <examples/gevent>`.
|
||||
|
||||
To use MongoDB with `asyncio <https://docs.python.org/3/library/asyncio.html>`_
|
||||
or `Tornado <http://www.tornadoweb.org/>`_, see the
|
||||
or `Tornado <https://www.tornadoweb.org/>`_, see the
|
||||
`Motor <https://github.com/mongodb/motor>`_ project.
|
||||
|
||||
For `Twisted <http://twistedmatrix.com/>`_, see `TxMongo
|
||||
For `Twisted <https://twistedmatrix.com/>`_, see `TxMongo
|
||||
<https://github.com/twisted/txmongo>`_. Its stated mission is to keep feature
|
||||
parity with PyMongo.
|
||||
|
||||
@ -381,7 +381,7 @@ Can you add attribute style access for documents?
|
||||
-------------------------------------------------
|
||||
This request has come up a number of times but we've decided not to
|
||||
implement anything like this. The relevant `jira case
|
||||
<http://jira.mongodb.org/browse/PYTHON-35>`_ has some information
|
||||
<https://jira.mongodb.org/browse/PYTHON-35>`_ has some information
|
||||
about the decision, but here is a brief summary:
|
||||
|
||||
1. This will pollute the attribute namespace for documents, so could
|
||||
@ -451,7 +451,7 @@ in Flask_ (other web frameworks are similar)::
|
||||
|
||||
How can I use PyMongo from Django?
|
||||
----------------------------------
|
||||
`Django <http://www.djangoproject.com/>`_ is a popular Python web
|
||||
`Django <https://www.djangoproject.com/>`_ is a popular Python web
|
||||
framework. Django includes an ORM, :mod:`django.db`. Currently,
|
||||
there's no official MongoDB backend for Django.
|
||||
|
||||
@ -468,7 +468,7 @@ using just MongoDB, but most of what Django provides can still be
|
||||
used.
|
||||
|
||||
One project which should make working with MongoDB and Django easier
|
||||
is `mango <http://github.com/vpulim/mango>`_. Mango is a set of
|
||||
is `mango <https://github.com/vpulim/mango>`_. Mango is a set of
|
||||
MongoDB backends for Django sessions and authentication (bypassing
|
||||
:mod:`django.db` entirely).
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ PyMongo |release| Documentation
|
||||
Overview
|
||||
--------
|
||||
**PyMongo** is a Python distribution containing tools for working with
|
||||
`MongoDB <http://www.mongodb.org>`_, and is the recommended way to
|
||||
`MongoDB <https://www.mongodb.org>`_, and is the recommended way to
|
||||
work with MongoDB from Python. This documentation attempts to explain
|
||||
everything you need to know to use **PyMongo**.
|
||||
|
||||
@ -81,7 +81,7 @@ Issues
|
||||
------
|
||||
All issues should be reported (and can be tracked / voted for /
|
||||
commented on) at the main `MongoDB JIRA bug tracker
|
||||
<http://jira.mongodb.org/browse/PYTHON>`_, in the "Python Driver"
|
||||
<https://jira.mongodb.org/browse/PYTHON>`_, in the "Python Driver"
|
||||
project.
|
||||
|
||||
Feature Requests / Feedback
|
||||
@ -94,7 +94,7 @@ Contributing
|
||||
**PyMongo** has a large :doc:`community <contributors>` and
|
||||
contributions are always encouraged. Contributions can be as simple as
|
||||
minor tweaks to this documentation. To contribute, fork the project on
|
||||
`GitHub <http://github.com/mongodb/mongo-python-driver/>`_ and send a
|
||||
`GitHub <https://github.com/mongodb/mongo-python-driver/>`_ and send a
|
||||
pull request.
|
||||
|
||||
Changes
|
||||
|
||||
@ -3,7 +3,7 @@ Installing / Upgrading
|
||||
.. highlight:: bash
|
||||
|
||||
**PyMongo** is in the `Python Package Index
|
||||
<http://pypi.python.org/pypi/pymongo/>`_.
|
||||
<https://pypi.python.org/pypi/pymongo/>`_.
|
||||
|
||||
.. warning:: **Do not install the "bson" package from pypi.** PyMongo comes
|
||||
with its own bson package; doing "pip install bson"
|
||||
@ -12,7 +12,7 @@ Installing / Upgrading
|
||||
Installing with pip
|
||||
-------------------
|
||||
|
||||
We recommend using `pip <http://pypi.python.org/pypi/pip>`_
|
||||
We recommend using `pip <https://pypi.python.org/pypi/pip>`_
|
||||
to install pymongo on all platforms::
|
||||
|
||||
$ python3 -m pip install pymongo
|
||||
@ -136,7 +136,7 @@ is a workaround::
|
||||
# For some Python builds from python.org
|
||||
$ env ARCHFLAGS='-arch i386 -arch x86_64' python -m pip install pymongo
|
||||
|
||||
See `http://bugs.python.org/issue11623 <http://bugs.python.org/issue11623>`_
|
||||
See `https://bugs.python.org/issue11623 <https://bugs.python.org/issue11623>`_
|
||||
for a more detailed explanation.
|
||||
|
||||
**Lion (10.7) and newer** - PyMongo's C extensions can be built against
|
||||
|
||||
@ -21,7 +21,7 @@ if errorlevel 9009 (
|
||||
echo.may add the Sphinx directory to PATH.
|
||||
echo.
|
||||
echo.If you don't have Sphinx installed, grab it from
|
||||
echo.http://sphinx-doc.org/
|
||||
echo.https://sphinx-doc.org/
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ MongoEngine
|
||||
layer on top of PyMongo. It allows you to define schemas for
|
||||
documents and query collections using syntax inspired by the Django
|
||||
ORM. The code is available on `GitHub
|
||||
<http://github.com/mongoengine/mongoengine>`_; for more information, see
|
||||
<https://github.com/mongoengine/mongoengine>`_; for more information, see
|
||||
the `tutorial <https://docs.mongoengine.org/tutorial.html>`_.
|
||||
|
||||
MincePy
|
||||
@ -47,17 +47,15 @@ Ming
|
||||
`Ming <https://ming.readthedocs.io/en/latest/>`_ is a
|
||||
library that allows you to enforce schemas on a MongoDB database in
|
||||
your Python application. It was developed by `SourceForge
|
||||
<http://sourceforge.net/>`_ in the course of their migration to
|
||||
MongoDB. See the `introductory blog post
|
||||
<http://blog.pythonisito.com/2009/12/ming-01-released-python-library-for.html>`_
|
||||
for more details.
|
||||
<https://sourceforge.net/>`_ in the course of their migration to
|
||||
MongoDB.
|
||||
|
||||
MotorEngine
|
||||
`MotorEngine <https://motorengine.readthedocs.io/>`_ is a port of
|
||||
MongoEngine to Motor, for asynchronous access with Tornado.
|
||||
It implements the same modeling APIs to be data-portable, meaning that a
|
||||
model defined in MongoEngine can be read in MotorEngine. The source is
|
||||
`available on GitHub <http://github.com/heynemann/motorengine>`_.
|
||||
`available on GitHub <https://github.com/heynemann/motorengine>`_.
|
||||
|
||||
uMongo
|
||||
`uMongo <https://umongo.readthedocs.io/>`_ is a Python MongoDB ODM.
|
||||
@ -89,12 +87,12 @@ PyMODM
|
||||
<https://pymodm.readthedocs.io/en/stable/>`_.
|
||||
|
||||
MongoKit
|
||||
The `MongoKit <http://github.com/namlook/mongokit>`_ framework
|
||||
The `MongoKit <https://github.com/namlook/mongokit>`_ framework
|
||||
is an ORM-like layer on top of PyMongo. There is also a MongoKit
|
||||
`google group <http://groups.google.com/group/mongokit>`_.
|
||||
`google group <https://groups.google.com/group/mongokit>`_.
|
||||
|
||||
Minimongo
|
||||
`minimongo <http://pypi.python.org/pypi/minimongo>`_ is a lightweight,
|
||||
`minimongo <https://pypi.python.org/pypi/minimongo>`_ is a lightweight,
|
||||
pythonic interface to MongoDB. It retains pymongo's query and update API,
|
||||
and provides a number of additional features, including a simple
|
||||
document-oriented interface, connection pooling, index management, and
|
||||
@ -102,15 +100,15 @@ Minimongo
|
||||
<https://github.com/MiniMongo/minimongo>`_.
|
||||
|
||||
Manga
|
||||
`Manga <http://pypi.python.org/pypi/manga>`_ aims to be a simpler ORM-like
|
||||
`Manga <https://pypi.python.org/pypi/manga>`_ aims to be a simpler ORM-like
|
||||
layer on top of PyMongo. The syntax for defining schema is inspired by the
|
||||
Django ORM, but Pymongo's query language is maintained. The source `is on
|
||||
GitHub <http://github.com/wladston/manga>`_.
|
||||
GitHub <https://github.com/wladston/manga>`_.
|
||||
|
||||
Humongolus
|
||||
`Humongolus <https://github.com/entone/Humongolus>`_ is a lightweight ORM
|
||||
framework for Python and MongoDB. The name comes from the combination of
|
||||
MongoDB and `Homunculus <http://en.wikipedia.org/wiki/Homunculus>`_ (the
|
||||
MongoDB and `Homunculus <https://en.wikipedia.org/wiki/Homunculus>`_ (the
|
||||
concept of a miniature though fully formed human body). Humongolus allows
|
||||
you to create models/schemas with robust validation. It attempts to be as
|
||||
pythonic as possible and exposes the pymongo cursor objects whenever
|
||||
@ -133,30 +131,30 @@ various Python frameworks and libraries.
|
||||
database backend for Django that completely integrates with its ORM.
|
||||
For more information `see the tutorial
|
||||
<https://django-mongodb-engine.readthedocs.io/en/latest/tutorial.html>`_.
|
||||
* `mango <http://github.com/vpulim/mango>`_ provides MongoDB backends for
|
||||
* `mango <https://github.com/vpulim/mango>`_ provides MongoDB backends for
|
||||
Django sessions and authentication (bypassing :mod:`django.db` entirely).
|
||||
* `Django MongoEngine
|
||||
<https://github.com/MongoEngine/django-mongoengine>`_ is a MongoDB backend for
|
||||
Django, an `example:
|
||||
<https://github.com/MongoEngine/django-mongoengine/tree/master/example/tumblelog>`_.
|
||||
For more information see `<https://django-mongoengine.readthedocs.io/en/latest/>`_
|
||||
* `mongodb_beaker <http://pypi.python.org/pypi/mongodb_beaker>`_ is a
|
||||
* `mongodb_beaker <https://pypi.python.org/pypi/mongodb_beaker>`_ is a
|
||||
project to enable using MongoDB as a backend for `beakers <https://beaker.readthedocs.io/en/latest/>`_ caching / session system.
|
||||
`The source is on GitHub <http://github.com/bwmcadams/mongodb_beaker>`_.
|
||||
`The source is on GitHub <https://github.com/bwmcadams/mongodb_beaker>`_.
|
||||
* `Log4Mongo <https://github.com/log4mongo/log4mongo-python>`_ is a flexible
|
||||
Python logging handler that can store logs in MongoDB using normal and capped
|
||||
collections.
|
||||
* `MongoLog <http://github.com/puentesarrin/mongodb-log/>`_ is a Python logging
|
||||
* `MongoLog <https://github.com/puentesarrin/mongodb-log/>`_ is a Python logging
|
||||
handler that stores logs in MongoDB using a capped collection.
|
||||
* `rod.recipe.mongodb <http://pypi.python.org/pypi/rod.recipe.mongodb/>`_ is a
|
||||
* `rod.recipe.mongodb <https://pypi.python.org/pypi/rod.recipe.mongodb/>`_ is a
|
||||
ZC Buildout recipe for downloading and installing MongoDB.
|
||||
* `mongobox <http://github.com/theorm/mongobox>`_ is a tool to run a sandboxed
|
||||
* `mongobox <https://github.com/theorm/mongobox>`_ is a tool to run a sandboxed
|
||||
MongoDB instance from within a python app.
|
||||
* `Flask-MongoAlchemy <http://github.com/cobrateam/flask-mongoalchemy/>`_ Add
|
||||
* `Flask-MongoAlchemy <https://github.com/cobrateam/flask-mongoalchemy/>`_ Add
|
||||
Flask support for MongoDB using MongoAlchemy.
|
||||
* `Flask-MongoKit <http://github.com/jarus/flask-mongokit/>`_ Flask extension
|
||||
* `Flask-MongoKit <https://github.com/jarus/flask-mongokit/>`_ Flask extension
|
||||
to better integrate MongoKit into Flask.
|
||||
* `Flask-PyMongo <http://github.com/dcrosta/flask-pymongo/>`_ Flask-PyMongo
|
||||
* `Flask-PyMongo <https://github.com/dcrosta/flask-pymongo/>`_ Flask-PyMongo
|
||||
bridges Flask and PyMongo.
|
||||
|
||||
Alternative Drivers
|
||||
|
||||
@ -375,7 +375,7 @@ Indexing
|
||||
Adding indexes can help accelerate certain queries and can also add additional
|
||||
functionality to querying and storing documents. In this example, we'll
|
||||
demonstrate how to create a `unique index
|
||||
<http://mongodb.com/docs/manual/core/index-unique/>`_ on a key that rejects
|
||||
<https://mongodb.com/docs/manual/core/index-unique/>`_ on a key that rejects
|
||||
documents whose value for that key already exists in the index.
|
||||
|
||||
First, we'll need to create the index:
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@ -55,7 +55,7 @@ DESCENDING = -1
|
||||
GEO2D = "2d"
|
||||
"""Index specifier for a 2-dimensional `geospatial index`_.
|
||||
|
||||
.. _geospatial index: http://mongodb.com/docs/manual/core/2d/
|
||||
.. _geospatial index: https://mongodb.com/docs/manual/core/2d/
|
||||
"""
|
||||
|
||||
GEOSPHERE = "2dsphere"
|
||||
@ -63,7 +63,7 @@ GEOSPHERE = "2dsphere"
|
||||
|
||||
.. versionadded:: 2.5
|
||||
|
||||
.. _spherical geospatial index: http://mongodb.com/docs/manual/core/2dsphere/
|
||||
.. _spherical geospatial index: https://mongodb.com/docs/manual/core/2dsphere/
|
||||
"""
|
||||
|
||||
HASHED = "hashed"
|
||||
@ -71,7 +71,7 @@ HASHED = "hashed"
|
||||
|
||||
.. versionadded:: 2.5
|
||||
|
||||
.. _hashed index: http://mongodb.com/docs/manual/core/index-hashed/
|
||||
.. _hashed index: https://mongodb.com/docs/manual/core/index-hashed/
|
||||
"""
|
||||
|
||||
TEXT = "text"
|
||||
@ -83,7 +83,7 @@ TEXT = "text"
|
||||
|
||||
.. versionadded:: 2.7.1
|
||||
|
||||
.. _text index: http://mongodb.com/docs/manual/core/index-text/
|
||||
.. _text index: https://mongodb.com/docs/manual/core/index-text/
|
||||
"""
|
||||
|
||||
from pymongo import _csot
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@ -192,7 +192,7 @@ class AsyncMongoClient(common.BaseObject, Generic[_DocumentType]):
|
||||
execute.
|
||||
|
||||
The `host` parameter can be a full `mongodb URI
|
||||
<http://dochub.mongodb.org/core/connections>`_, in addition to
|
||||
<https://dochub.mongodb.org/core/connections>`_, in addition to
|
||||
a simple hostname. It can also be a list of hostnames but no more
|
||||
than one URI. Any port specified in the host string(s) will override
|
||||
the `port` parameter. For username and
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@ -964,7 +964,7 @@ class PoolState:
|
||||
|
||||
|
||||
# Do *not* explicitly inherit from object or Jython won't call __del__
|
||||
# http://bugs.jython.org/issue1057
|
||||
# https://bugs.jython.org/issue1057
|
||||
class Pool:
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@ -160,7 +160,7 @@ def clean_node(node: str) -> tuple[str, int]:
|
||||
host, port = partition_node(node)
|
||||
|
||||
# Normalize hostname to lowercase, since DNS is case-insensitive:
|
||||
# http://tools.ietf.org/html/rfc4343
|
||||
# https://tools.ietf.org/html/rfc4343
|
||||
# This prevents useless rediscovery if "foo.com" is in the seed list but
|
||||
# "FOO.com" is in the hello response.
|
||||
return host.lower(), port
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# may not use this file except in compliance with the License. You
|
||||
# may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user