+full refactor
+feat: configuration, progress bar, OSV
This commit is contained in:
@@ -0,0 +1 @@
|
||||
pip
|
||||
@@ -0,0 +1,122 @@
|
||||
Metadata-Version: 2.3
|
||||
Name: docker
|
||||
Version: 7.1.0
|
||||
Summary: A Python library for the Docker Engine API.
|
||||
Project-URL: Changelog, https://docker-py.readthedocs.io/en/stable/change-log.html
|
||||
Project-URL: Documentation, https://docker-py.readthedocs.io
|
||||
Project-URL: Homepage, https://github.com/docker/docker-py
|
||||
Project-URL: Source, https://github.com/docker/docker-py
|
||||
Project-URL: Tracker, https://github.com/docker/docker-py/issues
|
||||
Maintainer-email: "Docker Inc." <no-reply@docker.com>
|
||||
License-Expression: Apache-2.0
|
||||
License-File: LICENSE
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Environment :: Other Environment
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: Apache Software License
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Classifier: Topic :: Software Development
|
||||
Classifier: Topic :: Utilities
|
||||
Requires-Python: >=3.8
|
||||
Requires-Dist: pywin32>=304; sys_platform == 'win32'
|
||||
Requires-Dist: requests>=2.26.0
|
||||
Requires-Dist: urllib3>=1.26.0
|
||||
Provides-Extra: dev
|
||||
Requires-Dist: coverage==7.2.7; extra == 'dev'
|
||||
Requires-Dist: pytest-cov==4.1.0; extra == 'dev'
|
||||
Requires-Dist: pytest-timeout==2.1.0; extra == 'dev'
|
||||
Requires-Dist: pytest==7.4.2; extra == 'dev'
|
||||
Requires-Dist: ruff==0.1.8; extra == 'dev'
|
||||
Provides-Extra: docs
|
||||
Requires-Dist: myst-parser==0.18.0; extra == 'docs'
|
||||
Requires-Dist: sphinx==5.1.1; extra == 'docs'
|
||||
Provides-Extra: ssh
|
||||
Requires-Dist: paramiko>=2.4.3; extra == 'ssh'
|
||||
Provides-Extra: tls
|
||||
Provides-Extra: websockets
|
||||
Requires-Dist: websocket-client>=1.3.0; extra == 'websockets'
|
||||
Description-Content-Type: text/markdown
|
||||
|
||||
# Docker SDK for Python
|
||||
|
||||
[](https://github.com/docker/docker-py/actions/workflows/ci.yml)
|
||||
|
||||
A Python library for the Docker Engine API. It lets you do anything the `docker` command does, but from within Python apps – run containers, manage containers, manage Swarms, etc.
|
||||
|
||||
## Installation
|
||||
|
||||
The latest stable version [is available on PyPI](https://pypi.python.org/pypi/docker/). Install with pip:
|
||||
|
||||
pip install docker
|
||||
|
||||
> Older versions (< 6.0) required installing `docker[tls]` for SSL/TLS support.
|
||||
> This is no longer necessary and is a no-op, but is supported for backwards compatibility.
|
||||
|
||||
## Usage
|
||||
|
||||
Connect to Docker using the default socket or the configuration in your environment:
|
||||
|
||||
```python
|
||||
import docker
|
||||
client = docker.from_env()
|
||||
```
|
||||
|
||||
You can run containers:
|
||||
|
||||
```python
|
||||
>>> client.containers.run("ubuntu:latest", "echo hello world")
|
||||
'hello world\n'
|
||||
```
|
||||
|
||||
You can run containers in the background:
|
||||
|
||||
```python
|
||||
>>> client.containers.run("bfirsh/reticulate-splines", detach=True)
|
||||
<Container '45e6d2de7c54'>
|
||||
```
|
||||
|
||||
You can manage containers:
|
||||
|
||||
```python
|
||||
>>> client.containers.list()
|
||||
[<Container '45e6d2de7c54'>, <Container 'db18e4f20eaa'>, ...]
|
||||
|
||||
>>> container = client.containers.get('45e6d2de7c54')
|
||||
|
||||
>>> container.attrs['Config']['Image']
|
||||
"bfirsh/reticulate-splines"
|
||||
|
||||
>>> container.logs()
|
||||
"Reticulating spline 1...\n"
|
||||
|
||||
>>> container.stop()
|
||||
```
|
||||
|
||||
You can stream logs:
|
||||
|
||||
```python
|
||||
>>> for line in container.logs(stream=True):
|
||||
... print(line.strip())
|
||||
Reticulating spline 2...
|
||||
Reticulating spline 3...
|
||||
...
|
||||
```
|
||||
|
||||
You can manage images:
|
||||
|
||||
```python
|
||||
>>> client.images.pull('nginx')
|
||||
<Image 'nginx'>
|
||||
|
||||
>>> client.images.list()
|
||||
[<Image 'ubuntu'>, <Image 'nginx'>, ...]
|
||||
```
|
||||
|
||||
[Read the full documentation](https://docker-py.readthedocs.io) to see everything you can do.
|
||||
@@ -0,0 +1,140 @@
|
||||
docker-7.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
docker-7.1.0.dist-info/METADATA,sha256=qlCRMTVMhL1JtSk-Mkb4lhXlIzmUcU3JSbRkz64kbQs,3785
|
||||
docker-7.1.0.dist-info/RECORD,,
|
||||
docker-7.1.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
docker-7.1.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
||||
docker-7.1.0.dist-info/licenses/LICENSE,sha256=8vCwf6XkksEdJ6oNLz8aDmS50X8y2KpImuKvlgmvM7I,10758
|
||||
docker/__init__.py,sha256=ER6EbOtcG0e3V4cTDGF7kQvsNDFKAbh2PMNN6lveWhw,193
|
||||
docker/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/__pycache__/_version.cpython-313.pyc,,
|
||||
docker/__pycache__/auth.cpython-313.pyc,,
|
||||
docker/__pycache__/client.cpython-313.pyc,,
|
||||
docker/__pycache__/constants.cpython-313.pyc,,
|
||||
docker/__pycache__/errors.cpython-313.pyc,,
|
||||
docker/__pycache__/tls.cpython-313.pyc,,
|
||||
docker/__pycache__/version.cpython-313.pyc,,
|
||||
docker/_version.py,sha256=jXWXDdqcry2vyc742uYcr4NaI1j-6TGMyveJUqhZf9Y,411
|
||||
docker/api/__init__.py,sha256=v0_aftqetK9PoSKyyKXlvQXh2dDdIDygDku8UtYqR-k,30
|
||||
docker/api/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/api/__pycache__/build.cpython-313.pyc,,
|
||||
docker/api/__pycache__/client.cpython-313.pyc,,
|
||||
docker/api/__pycache__/config.cpython-313.pyc,,
|
||||
docker/api/__pycache__/container.cpython-313.pyc,,
|
||||
docker/api/__pycache__/daemon.cpython-313.pyc,,
|
||||
docker/api/__pycache__/exec_api.cpython-313.pyc,,
|
||||
docker/api/__pycache__/image.cpython-313.pyc,,
|
||||
docker/api/__pycache__/network.cpython-313.pyc,,
|
||||
docker/api/__pycache__/plugin.cpython-313.pyc,,
|
||||
docker/api/__pycache__/secret.cpython-313.pyc,,
|
||||
docker/api/__pycache__/service.cpython-313.pyc,,
|
||||
docker/api/__pycache__/swarm.cpython-313.pyc,,
|
||||
docker/api/__pycache__/volume.cpython-313.pyc,,
|
||||
docker/api/build.py,sha256=C3HPhJfforYYDUWkNIACagdvf77Fj9DCC5EmIY3T-JA,16063
|
||||
docker/api/client.py,sha256=FULUhlBCONJRpv1mi7hOuKVvP38uPRX7ui7kA6i8tVA,19429
|
||||
docker/api/config.py,sha256=B1xH9KGgMFGJ9oz-R7IvlW5FUWuFxXDkNnM5YfgPDrQ,2706
|
||||
docker/api/container.py,sha256=NCncR2DUx6MOBxgk1v02_4155MDrzRONWR3NzKZ-W4U,52842
|
||||
docker/api/daemon.py,sha256=QHMYZH0w4xhOeWWDyr5ae13ktKu8-tnG7U44dWl9PxQ,6008
|
||||
docker/api/exec_api.py,sha256=rFVsjXPldQiwKgrlLOwhtFOaW6W8nneZZN36ANl7rHU,6210
|
||||
docker/api/image.py,sha256=TmxRX8GJkxWa-E43-00PHXGZmEvnjKVBfbH5R8FD0MA,20256
|
||||
docker/api/network.py,sha256=pZgGHtdnOHI4-LW47LB_Z9TNwX4b4KdS-08kbFzVUQk,10672
|
||||
docker/api/plugin.py,sha256=eR6GI12ECXg_vLrQ9GBgMuiUvtcqmDxzhmw59ymOVZw,8982
|
||||
docker/api/secret.py,sha256=qp8Zrg6l6Q8Dl4JtJfem1r90s-gaHWKjmS1ctrSlv3g,2869
|
||||
docker/api/service.py,sha256=bJs2jf_Io6l3_Jqsui6lW4-bhQvh9NUhj-wZQnOTyPI,19215
|
||||
docker/api/swarm.py,sha256=Wc8QrhwOMc4vBSx4i5mQrg47NVEjLs8qpv5NmNHGRdo,18089
|
||||
docker/api/volume.py,sha256=Hyaz7ZejJAKwLMAUiM21jYbWlVy-FAOzpL9p5vuXQmc,5119
|
||||
docker/auth.py,sha256=8HuFmbfDBb9N8AiRrQJtvABt4nFOEk4F-UZw9vP7IGU,12977
|
||||
docker/client.py,sha256=z2V8T0WIjDSU395FV821mTke1JQiy2bcc6_QvwnoUZk,7704
|
||||
docker/constants.py,sha256=nYtw3W7m-Gt607bUieu-1hLc_Rp6vBTwk_CvU8KvfCw,1195
|
||||
docker/context/__init__.py,sha256=iTtaBZOZr55DCYvrqS3snBjSCLzAW4e0kHDQoNqGzak,57
|
||||
docker/context/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/context/__pycache__/api.cpython-313.pyc,,
|
||||
docker/context/__pycache__/config.cpython-313.pyc,,
|
||||
docker/context/__pycache__/context.cpython-313.pyc,,
|
||||
docker/context/api.py,sha256=CaoT-NvsbQWTQogm5ooDM8MjDgEsQ190u05s6pgSvsg,6326
|
||||
docker/context/config.py,sha256=3Ak2ou2ZhsFOKcyjQQrMLENxPE44-NVJ97EM7Vkebqo,2151
|
||||
docker/context/context.py,sha256=dzrJdsF_J1lYgfFkMPWVwGT_1urt9eWu0DYmpYMbjC0,7828
|
||||
docker/credentials/__init__.py,sha256=gCzqshZEPYhTVnqVWq8reBY2bGpoj16T5CHFId0YGKw,197
|
||||
docker/credentials/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/credentials/__pycache__/constants.cpython-313.pyc,,
|
||||
docker/credentials/__pycache__/errors.cpython-313.pyc,,
|
||||
docker/credentials/__pycache__/store.cpython-313.pyc,,
|
||||
docker/credentials/__pycache__/utils.cpython-313.pyc,,
|
||||
docker/credentials/constants.py,sha256=5HjRGorpVvkamvLBI9yLPvur1E0glaq_ZhuRfbVA_bE,142
|
||||
docker/credentials/errors.py,sha256=FHXYAfHWD1CzAlxRDX3bP1D2BRJ48YhfVFtrPgBeHKk,440
|
||||
docker/credentials/store.py,sha256=8VjTXhi9wUZPdSO_MCt8dGdgnFVxSTGNsZ5P3AUaH04,3262
|
||||
docker/credentials/utils.py,sha256=0xhfjlCxa2_CyRGCSKzPvuAJzV-Ty7t-O5MKnyEq1us,224
|
||||
docker/errors.py,sha256=p5OV-0CsrQmLkGsGyMRV9nHlLip3uwXNZbOWDI6sfrs,5340
|
||||
docker/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
docker/models/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/models/__pycache__/configs.cpython-313.pyc,,
|
||||
docker/models/__pycache__/containers.cpython-313.pyc,,
|
||||
docker/models/__pycache__/images.cpython-313.pyc,,
|
||||
docker/models/__pycache__/networks.cpython-313.pyc,,
|
||||
docker/models/__pycache__/nodes.cpython-313.pyc,,
|
||||
docker/models/__pycache__/plugins.cpython-313.pyc,,
|
||||
docker/models/__pycache__/resource.cpython-313.pyc,,
|
||||
docker/models/__pycache__/secrets.cpython-313.pyc,,
|
||||
docker/models/__pycache__/services.cpython-313.pyc,,
|
||||
docker/models/__pycache__/swarm.cpython-313.pyc,,
|
||||
docker/models/__pycache__/volumes.cpython-313.pyc,,
|
||||
docker/models/configs.py,sha256=Nt1itqz5AXrqrhuYKY16-l7AELELSB0wf6ApQAwGtRI,1845
|
||||
docker/models/containers.py,sha256=bhzBwiwUtBpxzgFOfFwEhrUl8CmJkYs7t6xAG6f9w-A,46735
|
||||
docker/models/images.py,sha256=aDN_yP8adh8Ccu_kszGiFMvLFJX12AbaJdzTJFpEw2A,18000
|
||||
docker/models/networks.py,sha256=ksxKWpPuIt-2Sw248zS_uLa8GzokJiMnGOua4LgLRUw,7962
|
||||
docker/models/nodes.py,sha256=-E8KscpxlOu73MclTcyo1b9eHPt0Z84ov9e-yXp3RgE,2928
|
||||
docker/models/plugins.py,sha256=xxaaAEsDyxBUNSOzMa-xNLanMismQL_eOfsgw-QCtrc,5971
|
||||
docker/models/resource.py,sha256=JkXvJ9cuQ7f-fu4EwNsFuV6nCq5FcgtoqWOqodOTPZM,2580
|
||||
docker/models/secrets.py,sha256=Cn0baKmg-h--hf68rzbMNh7H-BxLcj8sNLZBJLoI_MQ,1845
|
||||
docker/models/services.py,sha256=V749QHEgydxwpCajz5Lgw2O7L9LvkAOy1OpfmpYENTo,13924
|
||||
docker/models/swarm.py,sha256=5QG3rdr8uwfdAH59-Tyw32v4cb6Gfv8GlFYwHsmItA0,8290
|
||||
docker/models/volumes.py,sha256=Wi_YyINASJxWyFTDbLv_5EQjzMX_sRslPfcbNPHT1-U,2848
|
||||
docker/tls.py,sha256=nrCLgBWW6MPyJCQ_tzUWSO1xbZkJ7ZYMrbQbo9jOXls,2320
|
||||
docker/transport/__init__.py,sha256=KbwVo0ISUASDTyCbCo0jcmoki1kfXarOqxrC9uqYUmE,233
|
||||
docker/transport/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/transport/__pycache__/basehttpadapter.cpython-313.pyc,,
|
||||
docker/transport/__pycache__/npipeconn.cpython-313.pyc,,
|
||||
docker/transport/__pycache__/npipesocket.cpython-313.pyc,,
|
||||
docker/transport/__pycache__/sshconn.cpython-313.pyc,,
|
||||
docker/transport/__pycache__/unixconn.cpython-313.pyc,,
|
||||
docker/transport/basehttpadapter.py,sha256=Qvgc6IObkWicKc0_eTbmsLo2nAlY4gmUhndTqHTNJjc,457
|
||||
docker/transport/npipeconn.py,sha256=fyrWFxCokHNzCtrT-lFFzEEolIiGaNni_puBEKxveew,3525
|
||||
docker/transport/npipesocket.py,sha256=ctJN4Vq_331l7ItLDACOKCYOkbiXxrmTaQjqOPX02wQ,6585
|
||||
docker/transport/sshconn.py,sha256=QoK1n7RNuSrCObJJsQFHC37wAfHMbGiNtibj-zh72og,7923
|
||||
docker/transport/unixconn.py,sha256=FMROVi_7WbHX5vGiJqsUR3s7arOj3-I2d202bWbKZNM,2915
|
||||
docker/types/__init__.py,sha256=vMkPvrD90jN6Tja2oPwNK1dzvhiwdJGuireai-dE3_g,625
|
||||
docker/types/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/types/__pycache__/base.cpython-313.pyc,,
|
||||
docker/types/__pycache__/containers.cpython-313.pyc,,
|
||||
docker/types/__pycache__/daemon.cpython-313.pyc,,
|
||||
docker/types/__pycache__/healthcheck.cpython-313.pyc,,
|
||||
docker/types/__pycache__/networks.cpython-313.pyc,,
|
||||
docker/types/__pycache__/services.cpython-313.pyc,,
|
||||
docker/types/__pycache__/swarm.cpython-313.pyc,,
|
||||
docker/types/base.py,sha256=shDFz5VEx-mfdtMtJQQIpT8GG6rZ-NmfUS6uFvSr3ig,110
|
||||
docker/types/containers.py,sha256=YDNMMqMd6lvjF2j8WT4gA4nQRmtAziJDypXezD1qk9g,27412
|
||||
docker/types/daemon.py,sha256=nR3-Hz9H04I1GecSateTXLwbq_ivA86QgsX8q8a7Lu0,1943
|
||||
docker/types/healthcheck.py,sha256=leuqfN6oUwlxSd_iMGFPfRiTB2ZipzESHtBj8NxzVv4,2776
|
||||
docker/types/networks.py,sha256=7I82VYPQd7Rjqfwx0-Q2jOIwGK-K8UiS0K61YkZtuuw,4240
|
||||
docker/types/services.py,sha256=3o2qwd_ACI1uwK0ClgxNg8RWictwQq6FYVnVauEinGc,33151
|
||||
docker/types/swarm.py,sha256=-xhjuOgXBE3Ct9zsuD0r-k8jROL-XETmRTWlRgGZTG4,4653
|
||||
docker/utils/__init__.py,sha256=M1IRXWTzd2uihzlUtW0vLvwRX3-C0dyxG-1JnkBnGaw,664
|
||||
docker/utils/__pycache__/__init__.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/build.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/config.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/decorators.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/fnmatch.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/json_stream.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/ports.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/proxy.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/socket.cpython-313.pyc,,
|
||||
docker/utils/__pycache__/utils.cpython-313.pyc,,
|
||||
docker/utils/build.py,sha256=3DO8EmP4uH7p_KoBsMvVWDDQYFvQ3a-2Zl19rRlNkzA,8266
|
||||
docker/utils/config.py,sha256=f5YJSiRJSGiOhwSTQJz_7HsA9AHSENib692TXNld6w0,1724
|
||||
docker/utils/decorators.py,sha256=72pAP26Qdv7FNTrtrEJn6lbOmNb92dPs-xwVvrH8Jy4,1492
|
||||
docker/utils/fnmatch.py,sha256=v6KNlQ9cHH9mL8bvOtKqbLwZe6wyVvWLLHZRxoJfstU,3295
|
||||
docker/utils/json_stream.py,sha256=HeSzhiw6t_oMaHOu_YTUNSvbHWK4F_A884pU7DqmcCg,2184
|
||||
docker/utils/ports.py,sha256=JKcWm4-5EwuM2fluvEXdZpgbjS9PHwPQzOBa-TTSwvM,2799
|
||||
docker/utils/proxy.py,sha256=4ZxhRGlPSuEb8xLEuLin2zxbQ8BCsCfmnxzfujGoazc,2246
|
||||
docker/utils/socket.py,sha256=JXr3rMl98PWHKEs1PN6wta9D-8y9I-w4Nbk5WwUwqQM,5073
|
||||
docker/utils/utils.py,sha256=P-qjbAicJk4VcJK6jyk4TnNbetPzyOLmar5ArGmKZ4Y,14124
|
||||
docker/version.py,sha256=7BJkAx-Ukdj2ZMkpwQL5UiiByEpcRSxeUr6tJZh03WM,240
|
||||
@@ -0,0 +1,4 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: hatchling 1.24.2
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
@@ -0,0 +1,191 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Copyright 2016 Docker, Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
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
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
Reference in New Issue
Block a user