Ausgabe der neuen DB Einträge

This commit is contained in:
hubobel 2022-01-02 21:50:48 +01:00
parent bad48e1627
commit cfbbb9ee3d
2399 changed files with 843193 additions and 43 deletions

View file

@ -0,0 +1 @@
pip

View file

@ -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.

View 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

View file

@ -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

View file

@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.36.0)
Root-Is-Purelib: true
Tag: py3-none-any

View file

@ -0,0 +1,3 @@
[console_scripts]
stone = stone.cli:main

View file

@ -0,0 +1 @@
stone