Skip to main content

Shared auth + api-fetch contract for CCP4i2 and consumers

Reason this release was yanked:

Scope chenged and package moved to ccp4i2-api

Project description

@ccp4/ccp4i2-auth / ccp4i2-auth

Shared auth + api-fetch contract for CCP4i2 and consumers (CCP4i2 Compounds, third-party integrators). One package, two language artifacts: TypeScript on the client side (browser, Electron) and Python on the server side (Django middleware, DRF authentication). Both halves agree on the canonical bearer- token format and 401 response shape.

Status

Pre-publication scaffolding. The package lives as a workspace inside the ccp4/ccp4i2 repo during the monorepo phase. It will be extracted to its own repo (ccp4/ccp4i2-auth) and published to npm + PyPI as part of the CCP4i2 / Compounds split. See apps/compounds/docs/CCP4I2_FACING_PROPOSAL_REPO_SPLIT.md for the architectural rationale.

Layout

Path Purpose
src/ TypeScript source. Built to dist/ via npm run build.
dist/ Built TypeScript output. Generated; gitignored.
ccp4i2_auth/ Python source. Installed editable via pip install -e ..
tests/js/ TypeScript tests (vitest, when added).
tests/python/ Python tests (pytest, when added).

Consumer wiring

During the monorepo phase, consumers reference this package via local paths.

TypeScript (client/package.json, apps/compounds/frontend/package.json):

"dependencies": {
  "@ccp4/ccp4i2-auth": "file:../../packages/ccp4i2-auth"
}

(Path depth varies by consumer location — see each consumer's package.json.)

Python (Docker/server/Dockerfile, local dev setup):

pip install -e packages/ccp4i2-auth/

At repo split, consumers swap file: to a published version (^0.1.0 for TS, >=0.1 for Python). The package's exports, build artifacts, and contract are unchanged — only the resolution mechanism switches.

Development

# TypeScript
cd packages/ccp4i2-auth
npm install
npm run build       # produces dist/
npm run watch       # rebuilds on change

# Python
cd packages/ccp4i2-auth
ccp4-python -m pip install -e .
ccp4-python -c "import ccp4i2_auth; print(ccp4i2_auth.__version__)"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccp4i2_auth-0.0.0.dev0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccp4i2_auth-0.0.0.dev0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file ccp4i2_auth-0.0.0.dev0.tar.gz.

File metadata

  • Download URL: ccp4i2_auth-0.0.0.dev0.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for ccp4i2_auth-0.0.0.dev0.tar.gz
Algorithm Hash digest
SHA256 5eb7201b98d01965fcb424b3df192186b53bdc547c49cec70a4ee9bcba8f787c
MD5 0e21971988778bc91c40687962c2cce3
BLAKE2b-256 a65dc861e812335f3a9bf5d4ecdcf8203c0e90115b1971a0afde9328e4e348c3

See more details on using hashes here.

File details

Details for the file ccp4i2_auth-0.0.0.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for ccp4i2_auth-0.0.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 76a04ed86de9fbd734f92e7ce1bb19f60611cb4d10b59203ff0ccbfa81f7c479
MD5 dac5dff84d97dd06428b749645dc7b13
BLAKE2b-256 3a1e7cc59702f78de1316f09e118c7b3a0e0fcf6f56a2cc64e3dd3d219b75c2f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page