This package is maintained with git-buildpackage(1). It follows DEP-14 for
branch naming (e.g. using debian/master for the current version in Debian
unstable due Debian Python team policy).

It uses pristine-tar(1) to store enough information in git to generate bit
identical tarballs when building the package without having downloaded an
upstream tarball first.

When working with patches it is recommended to use "gbp pq import" to import
the patches, modify the source and then use "gbp pq export --commit" to commit
the modifications.

The changelog is generated using "gbp dch" so if you submit any changes don't
bother to add changelog entries but rather provide a nice git commit message
that can then end up in the changelog.

It is recommended to build the package with pbuilder using:

    gbp buildpackage --git-pbuilder

For information on how to set up a pbuilder environment see the git-pbuilder(1)
manpage. In short:

    DIST=sid git-pbuilder create
    gbp clone https://salsa.debian.org/python-team/packages/strawberry-graphql.git
    cd strawberry-graphql
    gbp buildpackage --git-pbuilder


Current packaging status
------------------------

The packaging is while writing in early state. Not all features of the
upstream project will be usable as some packages missing in the archive of
Debian.
Based on https://github.com/strawberry-graphql/strawberry/blob/main/pyproject.toml [tool.poetry.group.dev.dependencies]

Dependencies/Suggestions for bin package strawberry-graphql
   (Debian)                       Upstream             Version
✅ (python3-asgiref) ............ asgiref              (>=3.2,<4.0)
✅ (python3-email-validator) .... email-validator      (>=1.1.3,<3.0.0)
✅ (python3-freezegun) .......... freezegun            (>=1.2.1,<2.0.0)
✅ (python3-libcst) ............. libcst               (>=1.8.2,<2.0.0)
✅ (python3-markupsafe) ......... MarkupSafe           (>=2.1.3)
✅ (python3-nox) ................ nox                  (>=2024.4.15,<2025.0.0)
✅ (python3-opentelemetry-api) .. opentelemetry-api    (<2)
✅ (python3-opentelemetry-sdk) .. opentelemetry-sdk    (<2)
✅ (python3-pygments) ........... pygments             (>=2.3,<3.0)
✅ (python3-python-multipart) ... python-multipart     (>=0.0.7)
✅ (python3-rich) ............... rich                 (>=12.5.1)
✅ (typer) ...................... typer                (>=0.12.4)

Dependencies for test suite
✅ (python3-opentelemetry-api) .. opentelemetry-api    (<2)
✅ (python3-pyinstrument) ....... pyinstrument         (>4.0.0)
✅ (python3-poetry-plugin-export) poetry-plugin-export (>=1.6.0,<2.0.0)
✅ (python3-urllib3) ............ urllib3              (<2)
✅ (python3-inline-snapshot) .... inline-snapshot      (>=0.10.1,<0.11.0)


Replacing linkage to external referenced CSS and JS files
---------------------------------------------------------

Upstream is using three files for static data which are containing the
inclusion of external references to CSS and JS files.

---%<---
$ tree strawberry/static/ -f
strawberry/static
├── strawberry/static/apollo-sandbox.html
├── strawberry/static/graphiql.html
└── strawberry/static/pathfinder.html

1 directory, 3 files

...

$ grep "=\"https://"  strawberry/static/*.html
strawberry/static/apollo-sandbox.html:    <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js"></script>
strawberry/static/graphiql.html:      src="https://unpkg.com/react@18.2.0/umd/react.production.min.js"
strawberry/static/graphiql.html:      src="https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js"
strawberry/static/graphiql.html:      src="https://unpkg.com/js-cookie@3.0.5/dist/js.cookie.min.js"
strawberry/static/graphiql.html:      href="https://unpkg.com/graphiql@3.8.3/graphiql.min.css"
strawberry/static/graphiql.html:      href="https://unpkg.com/@graphiql/plugin-explorer@1.0.2/dist/style.css"
strawberry/static/graphiql.html:      src="https://unpkg.com/graphiql@3.8.3/graphiql.min.js"
strawberry/static/graphiql.html:      src="https://unpkg.com/@graphiql/plugin-explorer@1.0.2/dist/index.umd.js"
strawberry/static/pathfinder.html:      href="https://esm.sh/@pathfinder-ide/react@0.2.6/dist/style.css"
--->%---

To exclude these links within the Debian package we use at package
preparation times the helper script debian/get-minimized-files.py that does
basically:

 * Looking for linking within these files to external resources.
 * Download the references into debian/static.
 * Do an unminimizing of the files and store the data in
   debian/missing-sources.

At build time the variable PYBUILD_BEFORE_INSTALL is used in debian/rules to
modify the installed HTML data to use the local shipped static data.

Please note!
Removing the external linking and usage of CSS/JS data isn't complete and
will need further work. Even the JS files will contain other external
references which haven't investigated yet in deep! If you can help to
improve the situation please open a bug report or get in contact with the
package maintainers.

And also it's currently needed to run the script manually after a new
upstream version was imported, atm there is no further checking if this step
is needed and no automatic import of CSS/JS is happen!

 -- Carsten Schoenert <c.schoenert@t-online.de>  Sun, 23 Nov 2025 07:43:00 +0200
