diff options
Diffstat (limited to 'python-datasette-publish-vercel.spec')
| -rw-r--r-- | python-datasette-publish-vercel.spec | 461 |
1 files changed, 461 insertions, 0 deletions
diff --git a/python-datasette-publish-vercel.spec b/python-datasette-publish-vercel.spec new file mode 100644 index 0000000..df8fe6d --- /dev/null +++ b/python-datasette-publish-vercel.spec @@ -0,0 +1,461 @@ +%global _empty_manifest_terminate_build 0 +Name: python-datasette-publish-vercel +Version: 0.14.2 +Release: 1 +Summary: Datasette plugin for publishing data using Vercel +License: Apache License, Version 2.0 +URL: https://github.com/simonw/datasette-publish-vercel +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/39/1c/7f889259343dff08094f3bca5f34bbefc03613cbdaafcb89e40993b3c2a6/datasette-publish-vercel-0.14.2.tar.gz +BuildArch: noarch + +Requires: python3-datasette +Requires: python3-pytest + +%description +# datasette-publish-vercel + +[](https://pypi.org/project/datasette-publish-vercel/) +[](https://github.com/simonw/datasette-publish-vercel/releases) +[](https://github.com/simonw/datasette-publish-vercel/actions?query=workflow%3ATest) +[](https://github.com/simonw/datasette-publish-vercel/blob/main/LICENSE) + +Datasette plugin for publishing data using [Vercel](https://vercel.com/). + +## Installation + +Install this plugin in the same environment as Datasette. + + $ datasette install datasette-publish-vercel + +## Usage + +First, install the Vercel CLI tool by [following their instructions](https://vercel.com/download). + +Run `vercel login` to login to (or create) an account. + +Now you can use `datasette publish vercel` to publish your data: + + datasette publish vercel my-database.db --project=my-database + +The `--project` argument is required - it specifies the project name that should be used for your deployment. This will be used as part of the deployment's URL. + +### Other options + +* `--no-prod` deploys to the project without updating the "production" URL alias to point to that new deployment. Without that option all deploys go directly to production. +* `--debug` enables the Vercel CLI debug output. +* `--token` allows you to pass a Now authentication token, rather than needing to first run `now login` to configure the tool. Tokens can be created in the Vercel web dashboard under Account Settings -> Tokens. +* `--public` runs `vercel --public` to publish the application source code at `/_src` e.g. https://datasette-public.now.sh/_src and make recent logs visible at `/_logs` e.g. https://datasette-public.now.sh/_logs +* `--generate-dir` - by default this tool generates a new Vercel app in a temporary directory, deploys it and then deletes the directory. Use `--generate-dir=my-app` to output the generated application files to a new directory of your choice instead. You can then deploy it by running `vercel` in that directory. +* `--setting default_page_size 10` - use this to set Datasette settings, as described in [the documentation](https://docs.datasette.io/en/stable/settings.html). This is a replacement for the unsupported `--extra-options` option. + +### Full help + +**Warning:** Some of these options are not yet implemented by this plugin. In particular, the following do not yet work: + +* `--extra-options` - use `--setting` described above instead. +* `--plugin-secret` +* `--version-note` + +``` +$ datasette publish vercel --help + +Usage: datasette publish vercel [OPTIONS] [FILES]... + + Publish to https://vercel.com/ + +Options: + -m, --metadata FILENAME Path to JSON/YAML file containing metadata to publish + --extra-options TEXT Extra options to pass to datasette serve + --branch TEXT Install datasette from a GitHub branch e.g. main + --template-dir DIRECTORY Path to directory containing custom templates + --plugins-dir DIRECTORY Path to directory containing custom plugins + --static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/... + --install TEXT Additional packages (e.g. plugins) to install + --plugin-secret <TEXT TEXT TEXT>... + Secrets to pass to plugins, e.g. --plugin-secret + datasette-auth-github client_id xxx + --version-note TEXT Additional note to show on /-/versions + --secret TEXT Secret used for signing secure values, such as signed + cookies + --title TEXT Title for metadata + --license TEXT License label for metadata + --license_url TEXT License URL for metadata + --source TEXT Source label for metadata + --source_url TEXT Source URL for metadata + --about TEXT About label for metadata + --about_url TEXT About URL for metadata + --token TEXT Auth token to use for deploy + --project PROJECT Vercel project name to use [required] + --scope TEXT Optional Vercel scope (e.g. a team name) + --no-prod Don't deploy directly to production + --debug Enable Vercel CLI debug output + --public Publish source with Vercel CLI --public + --generate-dir DIRECTORY Output generated application files and stop without + deploying + --generate-vercel-json Output generated vercel.json file and stop without + deploying + --vercel-json FILENAME Custom vercel.json file to use instead of generating + one + --setting SETTING... Setting, see docs.datasette.io/en/stable/settings.html + --crossdb Enable cross-database SQL queries + --help Show this message and exit. +``` +## Using a custom `vercel.json` file + +If you want to add additional redirects or similar to your Vercel configuration you may want to provide a custom `vercel.json` file. + +To do this, first generate a configuration file (without running a deploy) using the `--generate-vercel-json` option: + + datasette publish vercel my-database.db \ + --project=my-database \ + --generate-vercel-json > vercel.json + +You can now edit the `vercel.json` file that this creates to add your custom options. + +Then run the deploy using: + + datasette publish vercel my-database.db \ + --project=my-database \ + --vercel-json=vercel.json + +## Setting a `DATASETTE_SECRET` + +Datasette uses [a secret string](https://docs.datasette.io/en/stable/settings.html#configuring-the-secret) for purposes such as signing authentication cookies. This secret is reset when the server restarts, which will sign out any users who are authenticated using a signed cookie. + +You can avoid this by generating a `DATASETTE_SECRET` secret string and setting that as a [Vercel environment variable](https://vercel.com/docs/concepts/projects/environment-variables). If you do this the secret will stay consistent and your users will not be signed out. + +## Using this with GitHub Actions + +This plugin can be used together with [GitHub Actions](https://github.com/features/actions) to deploy Datasette instances automatically on new pushes to a repo, or on a schedule. + +The GitHub Actions runners already have the Vercel deployment tool installed. You'll need to create an API token for your account at [vercel.com/account/tokens](https://vercel.com/account/tokens), and store that as a secret in your GitHub repository called `VERCEL_TOKEN`. + +Make sure your workflow has installed `datasette` and `datasette-publish-vercel` using `pip`, then add the following step to your GitHub Actions workflow: +``` + - name: Deploy Datasette using Vercel + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + run: |- + datasette publish vercel mydb.db \ + --token $VERCEL_TOKEN \ + --project my-vercel-project +``` +You can see a full example of a workflow that uses Vercel in this way [in the simonw/til repository](https://github.com/simonw/til/blob/12b3f0d3679320cbeafa5df164bbc08ba703625d/.github/workflows/build.yml). + + +%package -n python3-datasette-publish-vercel +Summary: Datasette plugin for publishing data using Vercel +Provides: python-datasette-publish-vercel +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-datasette-publish-vercel +# datasette-publish-vercel + +[](https://pypi.org/project/datasette-publish-vercel/) +[](https://github.com/simonw/datasette-publish-vercel/releases) +[](https://github.com/simonw/datasette-publish-vercel/actions?query=workflow%3ATest) +[](https://github.com/simonw/datasette-publish-vercel/blob/main/LICENSE) + +Datasette plugin for publishing data using [Vercel](https://vercel.com/). + +## Installation + +Install this plugin in the same environment as Datasette. + + $ datasette install datasette-publish-vercel + +## Usage + +First, install the Vercel CLI tool by [following their instructions](https://vercel.com/download). + +Run `vercel login` to login to (or create) an account. + +Now you can use `datasette publish vercel` to publish your data: + + datasette publish vercel my-database.db --project=my-database + +The `--project` argument is required - it specifies the project name that should be used for your deployment. This will be used as part of the deployment's URL. + +### Other options + +* `--no-prod` deploys to the project without updating the "production" URL alias to point to that new deployment. Without that option all deploys go directly to production. +* `--debug` enables the Vercel CLI debug output. +* `--token` allows you to pass a Now authentication token, rather than needing to first run `now login` to configure the tool. Tokens can be created in the Vercel web dashboard under Account Settings -> Tokens. +* `--public` runs `vercel --public` to publish the application source code at `/_src` e.g. https://datasette-public.now.sh/_src and make recent logs visible at `/_logs` e.g. https://datasette-public.now.sh/_logs +* `--generate-dir` - by default this tool generates a new Vercel app in a temporary directory, deploys it and then deletes the directory. Use `--generate-dir=my-app` to output the generated application files to a new directory of your choice instead. You can then deploy it by running `vercel` in that directory. +* `--setting default_page_size 10` - use this to set Datasette settings, as described in [the documentation](https://docs.datasette.io/en/stable/settings.html). This is a replacement for the unsupported `--extra-options` option. + +### Full help + +**Warning:** Some of these options are not yet implemented by this plugin. In particular, the following do not yet work: + +* `--extra-options` - use `--setting` described above instead. +* `--plugin-secret` +* `--version-note` + +``` +$ datasette publish vercel --help + +Usage: datasette publish vercel [OPTIONS] [FILES]... + + Publish to https://vercel.com/ + +Options: + -m, --metadata FILENAME Path to JSON/YAML file containing metadata to publish + --extra-options TEXT Extra options to pass to datasette serve + --branch TEXT Install datasette from a GitHub branch e.g. main + --template-dir DIRECTORY Path to directory containing custom templates + --plugins-dir DIRECTORY Path to directory containing custom plugins + --static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/... + --install TEXT Additional packages (e.g. plugins) to install + --plugin-secret <TEXT TEXT TEXT>... + Secrets to pass to plugins, e.g. --plugin-secret + datasette-auth-github client_id xxx + --version-note TEXT Additional note to show on /-/versions + --secret TEXT Secret used for signing secure values, such as signed + cookies + --title TEXT Title for metadata + --license TEXT License label for metadata + --license_url TEXT License URL for metadata + --source TEXT Source label for metadata + --source_url TEXT Source URL for metadata + --about TEXT About label for metadata + --about_url TEXT About URL for metadata + --token TEXT Auth token to use for deploy + --project PROJECT Vercel project name to use [required] + --scope TEXT Optional Vercel scope (e.g. a team name) + --no-prod Don't deploy directly to production + --debug Enable Vercel CLI debug output + --public Publish source with Vercel CLI --public + --generate-dir DIRECTORY Output generated application files and stop without + deploying + --generate-vercel-json Output generated vercel.json file and stop without + deploying + --vercel-json FILENAME Custom vercel.json file to use instead of generating + one + --setting SETTING... Setting, see docs.datasette.io/en/stable/settings.html + --crossdb Enable cross-database SQL queries + --help Show this message and exit. +``` +## Using a custom `vercel.json` file + +If you want to add additional redirects or similar to your Vercel configuration you may want to provide a custom `vercel.json` file. + +To do this, first generate a configuration file (without running a deploy) using the `--generate-vercel-json` option: + + datasette publish vercel my-database.db \ + --project=my-database \ + --generate-vercel-json > vercel.json + +You can now edit the `vercel.json` file that this creates to add your custom options. + +Then run the deploy using: + + datasette publish vercel my-database.db \ + --project=my-database \ + --vercel-json=vercel.json + +## Setting a `DATASETTE_SECRET` + +Datasette uses [a secret string](https://docs.datasette.io/en/stable/settings.html#configuring-the-secret) for purposes such as signing authentication cookies. This secret is reset when the server restarts, which will sign out any users who are authenticated using a signed cookie. + +You can avoid this by generating a `DATASETTE_SECRET` secret string and setting that as a [Vercel environment variable](https://vercel.com/docs/concepts/projects/environment-variables). If you do this the secret will stay consistent and your users will not be signed out. + +## Using this with GitHub Actions + +This plugin can be used together with [GitHub Actions](https://github.com/features/actions) to deploy Datasette instances automatically on new pushes to a repo, or on a schedule. + +The GitHub Actions runners already have the Vercel deployment tool installed. You'll need to create an API token for your account at [vercel.com/account/tokens](https://vercel.com/account/tokens), and store that as a secret in your GitHub repository called `VERCEL_TOKEN`. + +Make sure your workflow has installed `datasette` and `datasette-publish-vercel` using `pip`, then add the following step to your GitHub Actions workflow: +``` + - name: Deploy Datasette using Vercel + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + run: |- + datasette publish vercel mydb.db \ + --token $VERCEL_TOKEN \ + --project my-vercel-project +``` +You can see a full example of a workflow that uses Vercel in this way [in the simonw/til repository](https://github.com/simonw/til/blob/12b3f0d3679320cbeafa5df164bbc08ba703625d/.github/workflows/build.yml). + + +%package help +Summary: Development documents and examples for datasette-publish-vercel +Provides: python3-datasette-publish-vercel-doc +%description help +# datasette-publish-vercel + +[](https://pypi.org/project/datasette-publish-vercel/) +[](https://github.com/simonw/datasette-publish-vercel/releases) +[](https://github.com/simonw/datasette-publish-vercel/actions?query=workflow%3ATest) +[](https://github.com/simonw/datasette-publish-vercel/blob/main/LICENSE) + +Datasette plugin for publishing data using [Vercel](https://vercel.com/). + +## Installation + +Install this plugin in the same environment as Datasette. + + $ datasette install datasette-publish-vercel + +## Usage + +First, install the Vercel CLI tool by [following their instructions](https://vercel.com/download). + +Run `vercel login` to login to (or create) an account. + +Now you can use `datasette publish vercel` to publish your data: + + datasette publish vercel my-database.db --project=my-database + +The `--project` argument is required - it specifies the project name that should be used for your deployment. This will be used as part of the deployment's URL. + +### Other options + +* `--no-prod` deploys to the project without updating the "production" URL alias to point to that new deployment. Without that option all deploys go directly to production. +* `--debug` enables the Vercel CLI debug output. +* `--token` allows you to pass a Now authentication token, rather than needing to first run `now login` to configure the tool. Tokens can be created in the Vercel web dashboard under Account Settings -> Tokens. +* `--public` runs `vercel --public` to publish the application source code at `/_src` e.g. https://datasette-public.now.sh/_src and make recent logs visible at `/_logs` e.g. https://datasette-public.now.sh/_logs +* `--generate-dir` - by default this tool generates a new Vercel app in a temporary directory, deploys it and then deletes the directory. Use `--generate-dir=my-app` to output the generated application files to a new directory of your choice instead. You can then deploy it by running `vercel` in that directory. +* `--setting default_page_size 10` - use this to set Datasette settings, as described in [the documentation](https://docs.datasette.io/en/stable/settings.html). This is a replacement for the unsupported `--extra-options` option. + +### Full help + +**Warning:** Some of these options are not yet implemented by this plugin. In particular, the following do not yet work: + +* `--extra-options` - use `--setting` described above instead. +* `--plugin-secret` +* `--version-note` + +``` +$ datasette publish vercel --help + +Usage: datasette publish vercel [OPTIONS] [FILES]... + + Publish to https://vercel.com/ + +Options: + -m, --metadata FILENAME Path to JSON/YAML file containing metadata to publish + --extra-options TEXT Extra options to pass to datasette serve + --branch TEXT Install datasette from a GitHub branch e.g. main + --template-dir DIRECTORY Path to directory containing custom templates + --plugins-dir DIRECTORY Path to directory containing custom plugins + --static MOUNT:DIRECTORY Serve static files from this directory at /MOUNT/... + --install TEXT Additional packages (e.g. plugins) to install + --plugin-secret <TEXT TEXT TEXT>... + Secrets to pass to plugins, e.g. --plugin-secret + datasette-auth-github client_id xxx + --version-note TEXT Additional note to show on /-/versions + --secret TEXT Secret used for signing secure values, such as signed + cookies + --title TEXT Title for metadata + --license TEXT License label for metadata + --license_url TEXT License URL for metadata + --source TEXT Source label for metadata + --source_url TEXT Source URL for metadata + --about TEXT About label for metadata + --about_url TEXT About URL for metadata + --token TEXT Auth token to use for deploy + --project PROJECT Vercel project name to use [required] + --scope TEXT Optional Vercel scope (e.g. a team name) + --no-prod Don't deploy directly to production + --debug Enable Vercel CLI debug output + --public Publish source with Vercel CLI --public + --generate-dir DIRECTORY Output generated application files and stop without + deploying + --generate-vercel-json Output generated vercel.json file and stop without + deploying + --vercel-json FILENAME Custom vercel.json file to use instead of generating + one + --setting SETTING... Setting, see docs.datasette.io/en/stable/settings.html + --crossdb Enable cross-database SQL queries + --help Show this message and exit. +``` +## Using a custom `vercel.json` file + +If you want to add additional redirects or similar to your Vercel configuration you may want to provide a custom `vercel.json` file. + +To do this, first generate a configuration file (without running a deploy) using the `--generate-vercel-json` option: + + datasette publish vercel my-database.db \ + --project=my-database \ + --generate-vercel-json > vercel.json + +You can now edit the `vercel.json` file that this creates to add your custom options. + +Then run the deploy using: + + datasette publish vercel my-database.db \ + --project=my-database \ + --vercel-json=vercel.json + +## Setting a `DATASETTE_SECRET` + +Datasette uses [a secret string](https://docs.datasette.io/en/stable/settings.html#configuring-the-secret) for purposes such as signing authentication cookies. This secret is reset when the server restarts, which will sign out any users who are authenticated using a signed cookie. + +You can avoid this by generating a `DATASETTE_SECRET` secret string and setting that as a [Vercel environment variable](https://vercel.com/docs/concepts/projects/environment-variables). If you do this the secret will stay consistent and your users will not be signed out. + +## Using this with GitHub Actions + +This plugin can be used together with [GitHub Actions](https://github.com/features/actions) to deploy Datasette instances automatically on new pushes to a repo, or on a schedule. + +The GitHub Actions runners already have the Vercel deployment tool installed. You'll need to create an API token for your account at [vercel.com/account/tokens](https://vercel.com/account/tokens), and store that as a secret in your GitHub repository called `VERCEL_TOKEN`. + +Make sure your workflow has installed `datasette` and `datasette-publish-vercel` using `pip`, then add the following step to your GitHub Actions workflow: +``` + - name: Deploy Datasette using Vercel + env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + run: |- + datasette publish vercel mydb.db \ + --token $VERCEL_TOKEN \ + --project my-vercel-project +``` +You can see a full example of a workflow that uses Vercel in this way [in the simonw/til repository](https://github.com/simonw/til/blob/12b3f0d3679320cbeafa5df164bbc08ba703625d/.github/workflows/build.yml). + + +%prep +%autosetup -n datasette-publish-vercel-0.14.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-datasette-publish-vercel -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.14.2-1 +- Package Spec generated |
