Ausgabe der neuen DB Einträge
This commit is contained in:
parent
bad48e1627
commit
cfbbb9ee3d
2399 changed files with 843193 additions and 43 deletions
|
|
@ -0,0 +1 @@
|
|||
pip
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
Copyright (c) 2020 Dropbox Inc., http://www.dropbox.com/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
214
venv/lib/python3.9/site-packages/stone-3.2.1.dist-info/METADATA
Normal file
214
venv/lib/python3.9/site-packages/stone-3.2.1.dist-info/METADATA
Normal file
|
|
@ -0,0 +1,214 @@
|
|||
Metadata-Version: 2.1
|
||||
Name: stone
|
||||
Version: 3.2.1
|
||||
Summary: Stone is an interface description language (IDL) for APIs.
|
||||
Home-page: https://github.com/dropbox/stone
|
||||
Author: Ken Elkabany
|
||||
Author-email: kelkabany@dropbox.com
|
||||
Maintainer: Dropbox
|
||||
Maintainer-email: api-platform@dropbox.com
|
||||
License: MIT License
|
||||
Platform: UNKNOWN
|
||||
Classifier: Development Status :: 4 - Beta
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: MIT License
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Topic :: Software Development :: Code Generators
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Description-Content-Type: text/x-rst
|
||||
Requires-Dist: ply (>=3.4)
|
||||
Requires-Dist: six (>=1.3.0)
|
||||
|
||||
.. image:: https://cfl.dropboxstatic.com/static/images/sdk/stone_banner.png
|
||||
:target: https://github.com/dropbox/stone
|
||||
|
||||
.. image:: https://img.shields.io/pypi/pyversions/stone.svg
|
||||
:target: https://pypi.python.org/pypi/stone
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/stone.svg
|
||||
:target: https://pypi.python.org/pypi/stone
|
||||
|
||||
.. image:: https://codecov.io/gh/dropbox/stone/branch/main/graph/badge.svg
|
||||
:target: https://codecov.io/gh/dropbox/stone
|
||||
|
||||
The Official Api Spec Language for Dropbox.
|
||||
|
||||
`Documentation`_ can be found on GitHub
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Install stone using ``pip``::
|
||||
|
||||
$ pip install --user stone
|
||||
|
||||
This will install a script ``stone`` to your PATH that can be run from the
|
||||
command line::
|
||||
|
||||
$ stone -h
|
||||
|
||||
Alternative
|
||||
-----------
|
||||
|
||||
If you choose not to install ``stone`` using the method above, you will need
|
||||
to ensure that you have the Python packages ``ply`` and ``six``, which can be
|
||||
installed through ``pip``::
|
||||
|
||||
$ pip install "ply>=3.4" "six>=1.3.0" "typing>=3.5.2"
|
||||
|
||||
If the ``stone`` package is in your PYTHONPATH, you can replace ``stone``
|
||||
with ``python -m stone.cli`` as follows::
|
||||
|
||||
$ python -m stone.cli -h
|
||||
|
||||
If you have the ``stone`` package on your machine, but did not install it or
|
||||
add its location to your PYTHONPATH, you can use the following::
|
||||
|
||||
$ PYTHONPATH=path/to/stone python -m stone.cli -h
|
||||
|
||||
After installation, follow one of our `Examples`_ or read the `Documentation`_.
|
||||
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Define an API once in Stone. Use backends, i.e. code generators, to translate
|
||||
your specification into objects and functions in the programming languages of
|
||||
your choice.
|
||||
|
||||
* Introduction
|
||||
* Motivation_
|
||||
* Installation_
|
||||
* `Language Reference <https://github.com/dropbox/stone/blob/main/docs/lang_ref.rst>`_
|
||||
* `Builtin Backends <https://github.com/dropbox/stone/blob/main/docs/builtin_backends.rst>`_
|
||||
* `Managing Specs <https://github.com/dropbox/stone/blob/main/docs/managing_specs.rst>`_
|
||||
* `Evolving a Spec <https://github.com/dropbox/stone/blob/main/docs/evolve_spec.rst>`_
|
||||
* `Backend Reference <https://github.com/dropbox/stone/blob/main/docs/backend_ref.rst>`_
|
||||
* `JSON Serializer <https://github.com/dropbox/stone/blob/main/docs/json_serializer.rst>`_
|
||||
* `Network Protocol <https://github.com/dropbox/stone/blob/main/docs/network_protocol.rst>`_
|
||||
|
||||
*Warning: The documentation is undergoing a rewrite.*
|
||||
|
||||
.. image:: docs/overview.png
|
||||
|
||||
Stone is made up of several components:
|
||||
|
||||
Language
|
||||
--------
|
||||
|
||||
A language for writing API specifications, "specs" for short.
|
||||
|
||||
Command-Line Interface
|
||||
----------------------
|
||||
|
||||
The CLI (``stone``) generates code based on the provided specs, backend,
|
||||
and additional arguments.
|
||||
|
||||
Backends
|
||||
--------
|
||||
|
||||
There are builtin backends that come with Stone: Javascript, Python, Obj-C,
|
||||
Swift, and Typescript.
|
||||
|
||||
There are other backends we've written that aren't part of the Stone package
|
||||
because they aren't sufficiently general, and can't realistically be re-used
|
||||
for non-Dropbox APIs: Go and Java.
|
||||
|
||||
Stone includes a Python interface for defining new backends based on its
|
||||
intermediate representation of specs. This gives you the freedom to generate
|
||||
to any target.
|
||||
|
||||
JSON Serialization
|
||||
------------------
|
||||
|
||||
Stone defines a JSON-compatible serialization scheme.
|
||||
|
||||
Motivation
|
||||
==========
|
||||
|
||||
Stone was birthed at Dropbox at a time when it was becoming clear that API
|
||||
development needed to be scaled beyond a single team. The company was
|
||||
undergoing a large expansion in the number of product groups, and it wasn't
|
||||
scalable for the API team, which traditionally dealt with core file operations,
|
||||
to learn the intricacies of each product and build corresponding APIs.
|
||||
|
||||
Stone's chief goal is to decentralize API development and ownership at Dropbox.
|
||||
To be successful, it needed to do several things:
|
||||
|
||||
**Decouple APIs from SDKS**: Dropbox has first-party clients for our mobile
|
||||
apps, desktop client, and website. Each of these is implemented in a different
|
||||
language. Moreover, we wanted to continue providing SDKs to third-parties, over
|
||||
half of whom use our SDKs. It's untenable to ask product groups that build APIs
|
||||
to also implement these endpoints in a half-dozen different language-specific
|
||||
SDKs. Without decoupling, as was the case in our v1 API, the SDKs will
|
||||
inevitably fall behind. Our solution is to have our SDKs automatically
|
||||
generated.
|
||||
|
||||
**Improve Visibility into our APIs**: These days, APIs aren't just in the
|
||||
domain of engineering. Product managers, product specialists, partnerships,
|
||||
sales, and services groups all need to have clear and accurate specifications
|
||||
of our APIs. After all, APIs define Dropbox's data models and functionality.
|
||||
Before Stone, API design documents obseleted by changes during implementation
|
||||
were the source of truth.
|
||||
|
||||
**Consistency and Predictability**: Consistency ranging from documentation
|
||||
tense to API patterns are important for making an API predictable and therefore
|
||||
easier to use. We needed an easy way to make and enforce patterns.
|
||||
|
||||
**JSON**: To make consumption easier for third parties, we wanted our data
|
||||
types to map to JSON. For cases where serialization efficiency
|
||||
(space and time) are important, you can try using msgpack (alpha support
|
||||
available in the Python generator). It's possible also to define your own
|
||||
serialization scheme, but at that point, you may consider using something like
|
||||
`Protobuf <https://github.com/google/protobuf>`_.
|
||||
|
||||
Stone is in active use for the `Dropbox v2 API
|
||||
<http://www.dropbox.com/developers>`_.
|
||||
|
||||
Assumptions
|
||||
-----------
|
||||
|
||||
Stone makes no assumptions about the protocol layer being used to make API
|
||||
requests and return responses; its first use case is the Dropbox v2 API which
|
||||
operates over HTTP. Stone does not come with nor enforce any particular RPC
|
||||
framework.
|
||||
|
||||
Stone makes some assumptions about the data types supported in target
|
||||
programming languages. It's assumed that there is a capacity for representing
|
||||
dictionaries (unordered string keys -> value), lists, numeric types, and
|
||||
strings.
|
||||
|
||||
Stone assumes that a route (or API endpoint) can have its argument and
|
||||
result types defined without relation to each other. In other words, the
|
||||
type of response does not change based on the input to the endpoint. An
|
||||
exception to this rule is afforded for error responses.
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
We provide `Examples`_ to help get you started with a lot of the basic functionality of Stone.
|
||||
|
||||
Getting Help
|
||||
============
|
||||
|
||||
If you find a bug, please see `CONTRIBUTING.md`_ for information on how to report it.
|
||||
|
||||
If you need help that is not specific to Stone, please reach out to `Dropbox Support`_.
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
Stone is distributed under the MIT license, please see `LICENSE`_ for more information.
|
||||
|
||||
.. _logo: {logo_link}
|
||||
.. _repo: https://github.com/dropbox/stone
|
||||
.. _`Documentation`: https://github.com/dropbox/stone/tree/main/docs
|
||||
.. _`Examples`: https://github.com/dropbox/stone/tree/main/example/backend
|
||||
.. _LICENSE: https://github.com/dropbox/stone/blob/main/LICENSE
|
||||
.. _CONTRIBUTING.md: https://github.com/dropbox/stone/blob/main/CONTRIBUTING.md
|
||||
.. _`Dropbox Support`: https://www.dropbox.com/developers/contact
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
../../../bin/stone,sha256=0ICaJqxvTWIGxrB2ylMbpKyVdwGBIeyM5onb3GW6jes,254
|
||||
stone-3.2.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
stone-3.2.1.dist-info/LICENSE,sha256=S_fPKBoSFvpx-8OnDCCbVDOnjhtza8J3BvYk550k9Mo,1144
|
||||
stone-3.2.1.dist-info/METADATA,sha256=xDjS6beKZ9pymcjxyuWKuvdHK98WrHuG-iGSoimCRQU,7938
|
||||
stone-3.2.1.dist-info/RECORD,,
|
||||
stone-3.2.1.dist-info/WHEEL,sha256=gm79cMopkncyn0iSnI0vQNiDJ8t9on0H4_iz-CrpXMk,92
|
||||
stone-3.2.1.dist-info/entry_points.txt,sha256=chwLSgQ5pMLtL1lmmfE1tNoeLtvLyi8lOSqvrM-aamk,42
|
||||
stone-3.2.1.dist-info/top_level.txt,sha256=VKTUA1baCOKxhxp4xpZQFjQ9hgNWWTGUP--_kpc1NH8,6
|
||||
stone/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
stone/__pycache__/__init__.cpython-39.pyc,,
|
||||
stone/__pycache__/backend.cpython-39.pyc,,
|
||||
stone/__pycache__/cli.cpython-39.pyc,,
|
||||
stone/__pycache__/cli_helpers.cpython-39.pyc,,
|
||||
stone/__pycache__/compiler.cpython-39.pyc,,
|
||||
stone/__pycache__/typing_hacks.cpython-39.pyc,,
|
||||
stone/backend.py,sha256=5lZZxSGAteWAuvl6BPkUDg9Fmmu9U0LG6KHnk_RJ3-s,19412
|
||||
stone/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
stone/backends/__pycache__/__init__.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/helpers.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/js_client.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/js_helpers.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/js_types.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/obj_c.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/obj_c_client.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/obj_c_helpers.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/obj_c_types.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/python_client.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/python_helpers.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/python_type_mapping.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/python_type_stubs.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/python_types.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/swift.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/swift_client.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/swift_helpers.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/swift_types.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/tsd_client.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/tsd_helpers.cpython-39.pyc,,
|
||||
stone/backends/__pycache__/tsd_types.cpython-39.pyc,,
|
||||
stone/backends/helpers.py,sha256=lNoiFgYA5tSq4wuwIS_Em0beLGrrkJAULS7RvSZC23w,1680
|
||||
stone/backends/js_client.py,sha256=ee9WOXJX9K1uKH_zyVya9gO7o1MLdSko92IHxJ5DcYs,5625
|
||||
stone/backends/js_helpers.py,sha256=btFc-DDCV0_E_edOVadSkiGeHvR8sVpR-unnHpVVlKA,3302
|
||||
stone/backends/js_types.py,sha256=8ylEURy9I69tVAVSiB1cpVrFJUWTnqq0gilB9tG3hVo,11459
|
||||
stone/backends/obj_c.py,sha256=gCfMGwJoOFzUbO0bMrAALmhpAY-p10bDMkwuDa3qQEs,9954
|
||||
stone/backends/obj_c_client.py,sha256=6Bq4xSBoxssJSQfSfV3_q3JzSHvAB8btD0wo83kM3P8,25997
|
||||
stone/backends/obj_c_helpers.py,sha256=9qJNoNkDHZZsK1-R3K_hMI9TJFkKE2ZJlBloP7lxOK4,12750
|
||||
stone/backends/obj_c_types.py,sha256=vA_1gOlq88YZXX6eDs02emeot8lOLg7FcT1B-naRNHw,70318
|
||||
stone/backends/python_client.py,sha256=bGu4fzq3Af4kBrme77KaD0erCESlizlmS4lWjwR6LUY,23331
|
||||
stone/backends/python_helpers.py,sha256=MTYbVlyG8XXEoxQ8GPzA3QoRP_ni94IozzOaz6XQe9U,6069
|
||||
stone/backends/python_rsrc/__init__.py,sha256=8HxqQzl7KOz6l78_1ZhIjLnyDSNTGpjzKeULyaLV-Gs,73
|
||||
stone/backends/python_rsrc/__pycache__/__init__.cpython-39.pyc,,
|
||||
stone/backends/python_rsrc/__pycache__/stone_base.cpython-39.pyc,,
|
||||
stone/backends/python_rsrc/__pycache__/stone_serializers.cpython-39.pyc,,
|
||||
stone/backends/python_rsrc/__pycache__/stone_validators.cpython-39.pyc,,
|
||||
stone/backends/python_rsrc/stone_base.py,sha256=7N9Gb9nPnoo7kk_gSv_SfntS0XcV61hfiwx27WlWsRY,8544
|
||||
stone/backends/python_rsrc/stone_serializers.py,sha256=Wt-QDYbDCZXdqS40hbCXn10mC93DR9TflyR-6okMxFE,42822
|
||||
stone/backends/python_rsrc/stone_validators.py,sha256=aHtfMV1dmf3BTm15HwTM_khudJdKYrVlkZFhF0MWKws,25921
|
||||
stone/backends/python_type_mapping.py,sha256=HMwOb_3I30aQcxI4vM-5I0iGPcyStygCv56550Iv7no,3975
|
||||
stone/backends/python_type_stubs.py,sha256=jfhyCqBn_TwUEWw2BSDHxfl9DYIx6LOGw7AUcqf0RMQ,18688
|
||||
stone/backends/python_types.py,sha256=RlXpcpOeIaKUU_GIhqCTFj7YkRciK5aukXt9KzyvAZM,49960
|
||||
stone/backends/swift.py,sha256=aeudIvvvztC0MXuGYIAFv8qTqRLXIvv_yTN4_Tpv8Mo,5745
|
||||
stone/backends/swift_client.py,sha256=Ej-9lc2SlyYSeZnTjuM9Nw_tABgVaeLUGek6CSJfYFw,10874
|
||||
stone/backends/swift_helpers.py,sha256=660BtNNDI9GixkI0IwfwjEbTIoHPxp78QSUVKyC9GB8,4111
|
||||
stone/backends/swift_types.py,sha256=-bzGPGsJrH2Q8yQ7sjm32BgQipIqgSzurDrdtNEaaRE,21067
|
||||
stone/backends/tsd_client.py,sha256=gJmdiwZFUsyyqdg4ahUMXM-ctJBTrlcpZA1EnYIA0kg,5357
|
||||
stone/backends/tsd_helpers.py,sha256=O7-_bcd4bkF-AUNqVchj1LzFrxV4IaUHeE-1zN1upgc,6058
|
||||
stone/backends/tsd_types.py,sha256=4pG6OJtccymiiO1uEOw_yo--3pob9rH8Hg2f7TBloHE,21122
|
||||
stone/cli.py,sha256=BZi9Z11LBPOJ7pn0TzhSJVby54BZF0llKUa1lWaQTxs,13981
|
||||
stone/cli_helpers.py,sha256=xXWsMBoxsmJfTglyNdLEgwAPS58oO-0QeMiZHHJOHek,5610
|
||||
stone/compiler.py,sha256=qtdY1VsCFqJ0DeMTz7gE5jbuYxaqMQGuhWWHxQUJdho,4494
|
||||
stone/frontend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
stone/frontend/__pycache__/__init__.cpython-39.pyc,,
|
||||
stone/frontend/__pycache__/ast.cpython-39.pyc,,
|
||||
stone/frontend/__pycache__/exception.cpython-39.pyc,,
|
||||
stone/frontend/__pycache__/frontend.cpython-39.pyc,,
|
||||
stone/frontend/__pycache__/ir_generator.cpython-39.pyc,,
|
||||
stone/frontend/__pycache__/lexer.cpython-39.pyc,,
|
||||
stone/frontend/__pycache__/parser.cpython-39.pyc,,
|
||||
stone/frontend/ast.py,sha256=3DOoBElR0_Uo-gqwt_4JYrVkFCBWrme9iO8eLLaiHNY,13105
|
||||
stone/frontend/exception.py,sha256=UFYC2zJ11kj8FOfNFu-HqK46L4iV9ytVOj09kiY7N-Y,854
|
||||
stone/frontend/frontend.py,sha256=ptsYmSCjVTFCyYhBfHNd7NFRM2388HAi5GVZqupWnrc,1734
|
||||
stone/frontend/ir_generator.py,sha256=qW8SpCkzUBzwzbQjVLWLVTTRYud1B_XhAPEyRPMS5ZA,80235
|
||||
stone/frontend/lexer.py,sha256=tODT3HOkj9s4vQnymFYewDkEnUvabDr_Wc3XRqXNmD0,14503
|
||||
stone/frontend/parser.py,sha256=9Qzcmb2gN5cClhJzhk8u5_xRgfTd3AyEgsCTt1EMHRQ,27635
|
||||
stone/ir/__init__.py,sha256=SBsDbibtfzp38yA3_kISf2TGnemOauRLh1RmOTDKi8s,83
|
||||
stone/ir/__pycache__/__init__.cpython-39.pyc,,
|
||||
stone/ir/__pycache__/api.cpython-39.pyc,,
|
||||
stone/ir/__pycache__/data_types.cpython-39.pyc,,
|
||||
stone/ir/api.py,sha256=iZ8tllKwytJeDuu2dWbP8MgEL-E6R6PoAm9s5JDS5_E,17221
|
||||
stone/ir/data_types.py,sha256=GdMNH2vs6ASYi_Vn2e12qswl-BDePyPWAfmJIRWmS2w,75510
|
||||
stone/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
stone/typing_hacks.py,sha256=QReI_dwvqDMqypapdXoolTb3lVRVPor4c3-vXwT7_g0,207
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.36.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[console_scripts]
|
||||
stone = stone.cli:main
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
stone
|
||||
Loading…
Add table
Add a link
Reference in a new issue