Socket
Socket
Sign inDemoInstall

datasette-updated

Package Overview
Dependencies
2
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    datasette-updated

Display the date your data was updated


Maintainers
1

Readme

datasette-updated

PyPI Changelog Tests License

Display the date your data was updated

Installation

Install this plugin in the same environment as Datasette.

datasette install datasette-updated

Usage

You can have a different updated value per table, database or Datasette instance. If undefined at any level, updated will fall back in that order. If no value is set, updated will be unknown.

Base metadata configuration

If you have known updated values, you can define them in your base metadata.(json|yml):

{
  "plugins": {
    "datasette-updated": {
      "updated": "2023-12-14T23:04:42+00:00"
    }
  },
  "databases": {
    "my-database-name": {
      "plugins": {
        "datasette-updated": {
          "updated": "2023-01-01T00:00:00+00:00"
        }
      },
      "tables": {
        "my-table-name": {
          "plugins": {
            "datasette-updated": {
              "updated": "2020-01-01T00:00:00+00:00"
            }
          }
          ...

Plugin metadata configuration

If you want to define more dynamic updated value(s) on datasette package or datasette publish, put metadata for this plugin in YOUR_PLUGINS_DIR/datasette-updated/metadata.(json|yml). The following is an example that sets updated to the current date/time.

mkdir -p plugins/datasette-updated/ && \
echo '{
  "plugins": {
    "datasette-updated": {
      "updated": "'"$(date -Iseconds)"'"
    }
  }
}' > plugins/datasette-updated/metadata.json && \
datasette publish --plugins-dir=plugins --install=datasette-updated ...

Combined metadata configuration

You can combine base metadata and plugin metadata configuration, but be aware that the base metadata.(json|yml) will always win if there is a duplicate configuration value.

Extra configuration

The base / instance level metadata can accept the following extra configuration (that will apply to all levels):

Display

The plugin will try to load a footer template that is copied from the default Datasette footer template, but with the following addition:

{% if datasette_updated %}·
    Updated:
    <time
      data-local="{{ datasette_updated.time_type }}"
      datetime="{{ datasette_updated.updated }}">
        {{ datasette_updated.updated }}
    </time>
{% endif %}
  • If you have your own custom footer template, you will need to add the above code, as your base template will take precedence.
  • Look at local_time for extra configuration options (just ignore the Ruby parts).

Screenshot and Demo

screenshot

  • Example site: https://querydata.io/
  • The Javascript component converts time elements from UTC to the browser's local time.

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd datasette-updated
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc