datasette/docs/index.rst

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

72 lines
2.5 KiB
ReStructuredText
Raw Normal View History

2019-05-16 06:27:08 -07:00
Datasette
=========
2020-08-19 10:22:33 -07:00
|PyPI| |Changelog| |Python 3.x| |Tests| |License| |docker:
datasette| |discord|
2020-05-03 08:46:49 -07:00
.. |PyPI| image:: https://img.shields.io/pypi/v/datasette.svg
:target: https://pypi.org/project/datasette/
.. |Changelog| image:: https://img.shields.io/github/v/release/simonw/datasette?label=changelog
:target: https://docs.datasette.io/en/stable/changelog.html
2020-05-03 08:46:49 -07:00
.. |Python 3.x| image:: https://img.shields.io/pypi/pyversions/datasette.svg?logo=python&logoColor=white
:target: https://pypi.org/project/datasette/
.. |Tests| image:: https://github.com/simonw/datasette/workflows/Test/badge.svg
:target: https://github.com/simonw/datasette/actions?query=workflow%3ATest
2020-05-03 08:46:49 -07:00
.. |License| image:: https://img.shields.io/badge/license-Apache%202.0-blue.svg
2020-08-10 19:49:22 -07:00
:target: https://github.com/simonw/datasette/blob/main/LICENSE
2020-05-03 08:46:49 -07:00
.. |docker: datasette| image:: https://img.shields.io/badge/docker-datasette-blue
:target: https://hub.docker.com/r/datasetteproject/datasette
.. |discord| image:: https://img.shields.io/discord/823971286308356157?label=discord
:target: https://datasette.io/discord
2020-05-03 08:46:49 -07:00
*An open source multi-tool for exploring and publishing data*
Datasette is a tool for exploring and publishing data. It helps people take data of any shape or size and publish that as an interactive, explorable website and accompanying API.
Datasette is aimed at data journalists, museum curators, archivists, local governments and anyone else who has data that they wish to share with the world. It is part of a :ref:`wider ecosystem of tools and plugins <ecosystem>` dedicated to making working with structured data as productive as possible.
`Explore a demo <https://fivethirtyeight.datasettes.com/fivethirtyeight>`__, watch `a presentation about the project <https://static.simonwillison.net/static/2018/pybay-datasette/>`__.
Interested in learning Datasette? Start with `the official tutorials <https://datasette.io/tutorials>`__.
Support questions, feedback? Join the `Datasette Discord <https://datasette.io/discord>`__.
Contents
--------
.. toctree::
:maxdepth: 3
getting_started
2019-05-15 22:14:33 -07:00
installation
configuration
2019-05-15 22:14:33 -07:00
ecosystem
cli-reference
pages
publish
deploying
json_api
sql_queries
authentication
performance
2018-06-18 07:12:21 -07:00
csv_export
binary_data
facets
full_text_search
spatialite
metadata
settings
introspection
2017-12-06 10:27:50 -08:00
custom_templates
template_context
plugins
writing_plugins
javascript_plugins
plugin_hooks
testing_plugins
Add a plugin telemetry kit: public registry API, linked_root_span_kwargs, test helpers, docs A survey of five plugin OTel plans (datasette-paper, -agent, -litestream, -accounts, -cron) found every one hand-copying the same core machinery: the registry classes, the conformance-test harness, the pytest fixtures, the bucket boundaries and the detached-root-with-Link recipe. This makes that machinery importable instead: - The registry classes are documented public API. Attribute gains values= (a closed enum the conformance helpers enforce - what makes an attribute safe as a metric dimension); SpanName gains prefix=True for span families like "chat {model}" whose names share a fixed prefix, matched by span_for() after exact names. span_for()/attribute helpers accept a spans= tuple so plugin registries can use them. - datasette.telemetry.linked_root_span_kwargs(): the root-span-with-Link shape for work a request caused without containing - background jobs, scheduled ticks, block=False writes. Core's own write thread now uses it instead of building the kwargs inline. - datasette.telemetry_testing: the session provider fixtures, otel_spans / otel_metrics, a two-way registry conformance checker (including enum and prefix handling, filtered by instrumentation scope) and an assert_package_never_imports_sdk() guard. Core's conftest now imports these instead of defining them, so the suite consumes the kit exactly as a plugin's would. - New "Telemetry for plugin authors" docs page: scope discipline, registry usage, privacy/cardinality rules, named-callable guidance, request_span(), the background root-with-link convention (one root per tick, always emitted), provider-ordering facts and known caveats. request_span() is now documented public API. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012U7coQfVu8nK2R4q2mCULA
2026-09-02 12:24:42 -07:00
plugin_telemetry
internals
events
upgrade_guide
2022-01-13 16:30:00 -08:00
contributing
changelog