openweights 0.7.2__tar.gz → 0.7.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openweights-0.7.2 → openweights-0.7.3}/PKG-INFO +1 -1
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/__init__.py +13 -14
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/database.py +9 -2
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/main.py +2 -5
- {openweights-0.7.2 → openweights-0.7.3}/pyproject.toml +1 -1
- openweights-0.7.2/.github/workflows/ci.yaml +0 -99
- {openweights-0.7.2 → openweights-0.7.3}/.dockerignore +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/.github/workflows/manual_publish.yaml +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/.gitignore +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/.pdm-python +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/.pre-commit-config.yaml +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/CLAUDE.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/DOCKER_README.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/Dockerfile +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/Dockerfile.cluster +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/LICENSE.txt +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/README.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/README.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/api-deployment/api.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/api-deployment/context_manager_api.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/api-deployment/gradio_ui.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/custom_job/README.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/custom_job/client_side.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/custom_job/worker_side.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/inference/prompts.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/inference/run_inference.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/inspect_eval.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/preference_learning/llama3_dpo.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/preference_learning/llama3_orpo.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/preference_learning/preferences.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/data/logp_tracking.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/data/prompts.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/data/test.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/data/train.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/data/weighted_data.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/data/weighted_data_test.jsonl +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/logprob_tracking.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/lora_qwen3_4b.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/multi_gpu_llama3_70b.py.skip +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/qlora_llama3_70b.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/sampling_callback.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/cookbook/sft/token_level_weighted_sft.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/entrypoint.cluster.sh +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/entrypoint.sh +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/llm.txt +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/llm_dot_txt.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/llm_full.txt +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/__main__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/cancel.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/cluster.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/common.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/deploy.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/env.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/exec.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/fetch.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/logs.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/ls.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/manage.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/serve.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/signup.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/ssh.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/token.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cli/worker.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/chat.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/decorators.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/events.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/files.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/jobs.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/run.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/temporary_api.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/client/utils.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cluster/.gitignore +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cluster/org_manager.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cluster/start_runpod.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/cluster/supervisor.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/models.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/LogProbVisualization-B6jQtzzK.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/LogProbVisualization-CnEzdbXa.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/LogProbVisualization-DChAruH-.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/MetricsPlots-BzYzp0RD.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/MetricsPlots-Do-0PbcE.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/MetricsPlots-Dy5N4URR.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/browser-CHCO931n.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/browser-DG1xBqer.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/browser-tfbTCamV.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/index-CL2BTY-B.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/index-CmfXCDny.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/index-DpYPsR6j.css +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/index-KCoSzXrZ.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/assets/index-nmHS5w_u.css +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/index.html +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/ow.svg +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/static/vite.svg +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/backend/utils.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/.gitignore +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/README.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/eslint.config.js +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/index.html +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/package-lock.json +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/package.json +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/public/ow.svg +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/public/vite.svg +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/App.css +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/App.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/api.ts +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/assets/react.svg +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/Auth/Auth.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/FileContent.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/JobDetailView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/MetricsDisplay.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/MetricsPlots.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/OutputsDisplay.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/RunDetailView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/WorkerDetailView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews/index.ts +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/DetailViews.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/JobsListView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/JobsView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/LogProbVisualization.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/Organizations/OrganizationDetail.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/Organizations/OrganizationList.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/Organizations/OrganizationSwitcher.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/Organizations/OrganizationsList.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/Organizations/TokensTab.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/RefreshButton.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/StatusCheckboxes.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/TokenView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/ViewToggle.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/WorkersListView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/WorkersView.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/contexts/AuthContext.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/contexts/OrganizationContext.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/index.css +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/main.tsx +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/supabaseClient.ts +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/types/supabase.ts +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/types.ts +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/vite-env.d.ts +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/tsconfig.app.json +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/tsconfig.json +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/tsconfig.node.json +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/vite.config.ts +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/inference/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/inference/cli.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/inference/openai_support.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/inference/validate.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/inspect_ai.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/mmlu_pro/README.md +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/mmlu_pro/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/mmlu_pro/compute_accuracy.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/mmlu_pro/evaluate_from_local.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/mmlu_pro/requirements.txt +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/dpo_ft.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/logp_callback.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/logprobs.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/orpo_ft.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/sampling_callback.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/sft.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/training.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/utils.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/unsloth/validate.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/vllm/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/vllm/validate.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/logp_callback.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/logprobs.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/sampling_callback.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/sft.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/token_weighting.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/training.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/utils.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/jobs/weighted_sft/validate.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/gpu_health_check.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/main.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/services/__init__.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/services/checkout.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/services/hf_login.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/services/log_server.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/services/ttl_manager.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/openweights/worker/services/ttl_monitor.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/supabase/.gitignore +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/supabase/config.toml +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/supabase/config.toml.dev +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/supabase/config.toml.legacy +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/supabase/migrations/20250116_v1_schema.sql +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/supabase/migrations/20250118_storage_and_files_policies.sql +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/supabase/migrations/20250119_fix_files_insert.sql +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/tests/test_db.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/tests/test_files_insert.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/tests/test_integration.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/tests/test_jwt.py +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/use.sh +0 -0
- {openweights-0.7.2 → openweights-0.7.3}/uv.lock +0 -0
|
@@ -98,13 +98,22 @@ def register(name: str):
|
|
|
98
98
|
return register_job
|
|
99
99
|
|
|
100
100
|
|
|
101
|
+
_SUPABASE_URL = os.environ.get(
|
|
102
|
+
"SUPABASE_URL", "https://cmaguqyuzweixkrqjvnf.supabase.co"
|
|
103
|
+
)
|
|
104
|
+
_SUPABASE_ANON_KEY = os.environ.get(
|
|
105
|
+
"SUPABASE_ANON_KEY",
|
|
106
|
+
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImNtYWd1cXl1endlaXhrcnFqdm5mIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjE2ODA1ODIsImV4cCI6MjA3NzI1NjU4Mn0.SlD0g3sWHsc3_SKEofR6Y6H01oWiEYBlmXYQiw0379s",
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
|
|
101
110
|
class OpenWeights:
|
|
102
111
|
_INSTANCES = []
|
|
103
112
|
|
|
104
113
|
def __init__(
|
|
105
114
|
self,
|
|
106
|
-
supabase_url: Optional[str] =
|
|
107
|
-
supabase_key: Optional[str] =
|
|
115
|
+
supabase_url: Optional[str] = _SUPABASE_URL,
|
|
116
|
+
supabase_key: Optional[str] = _SUPABASE_ANON_KEY,
|
|
108
117
|
auth_token: Optional[str] = None,
|
|
109
118
|
organization_id: Optional[str] = None,
|
|
110
119
|
use_async: bool = False,
|
|
@@ -118,21 +127,11 @@ class OpenWeights:
|
|
|
118
127
|
auth_token: Authentication token (or OPENWEIGHTS_API_KEY env var)
|
|
119
128
|
Can be either a session token or a service account JWT token
|
|
120
129
|
"""
|
|
121
|
-
self.supabase_url = supabase_url
|
|
122
|
-
|
|
123
|
-
)
|
|
124
|
-
self.supabase_key = supabase_key or os.environ.get(
|
|
125
|
-
"SUPABASE_ANON_KEY",
|
|
126
|
-
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImNtYWd1cXl1endlaXhrcnFqdm5mIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjE2ODA1ODIsImV4cCI6MjA3NzI1NjU4Mn0.SlD0g3sWHsc3_SKEofR6Y6H01oWiEYBlmXYQiw0379s",
|
|
127
|
-
)
|
|
130
|
+
self.supabase_url = supabase_url
|
|
131
|
+
self.supabase_key = supabase_key
|
|
128
132
|
self.auth_token = auth_token or os.getenv("OPENWEIGHTS_API_KEY")
|
|
129
133
|
self.deploy_kwargs = deploy_kwargs
|
|
130
134
|
|
|
131
|
-
if not self.supabase_url or not self.supabase_key:
|
|
132
|
-
raise ValueError(
|
|
133
|
-
"Supabase URL and key must be provided either as arguments or environment variables"
|
|
134
|
-
)
|
|
135
|
-
|
|
136
135
|
if not self.auth_token:
|
|
137
136
|
raise ValueError(
|
|
138
137
|
"Authentication token must be provided either as argument or OPENWEIGHTS_API_KEY environment variable"
|
|
@@ -25,15 +25,20 @@ from utils import (
|
|
|
25
25
|
validate_organization_secrets,
|
|
26
26
|
)
|
|
27
27
|
|
|
28
|
-
from openweights import OpenWeights
|
|
28
|
+
from openweights.client import _SUPABASE_ANON_KEY, _SUPABASE_URL, OpenWeights
|
|
29
29
|
from supabase import Client, create_client
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class Database:
|
|
33
33
|
def __init__(self, auth_token: Optional[str] = None):
|
|
34
|
+
self.supabase_url = _SUPABASE_URL
|
|
35
|
+
self.supabase_anon_key = _SUPABASE_ANON_KEY
|
|
34
36
|
self.auth_token = auth_token
|
|
35
37
|
self._current_org_id = None
|
|
36
38
|
|
|
39
|
+
if not self.supabase_url or not self.supabase_anon_key:
|
|
40
|
+
raise ValueError("SUPABASE_URL and SUPABASE_ANON_KEY must be set")
|
|
41
|
+
|
|
37
42
|
# Initialize regular client for normal operations
|
|
38
43
|
self.client = create_client(self.supabase_url, self.supabase_anon_key)
|
|
39
44
|
if auth_token:
|
|
@@ -45,7 +50,9 @@ class Database:
|
|
|
45
50
|
if not self._current_org_id:
|
|
46
51
|
raise ValueError("No organization set. Call set_organization_id first.")
|
|
47
52
|
return OpenWeights(
|
|
48
|
-
|
|
53
|
+
self.supabase_url,
|
|
54
|
+
self.supabase_anon_key,
|
|
55
|
+
self.auth_token,
|
|
49
56
|
organization_id=self._current_org_id,
|
|
50
57
|
)
|
|
51
58
|
|
|
@@ -116,11 +116,8 @@ async def create_organization(
|
|
|
116
116
|
@app.get("/organizations/", response_model=List[Organization])
|
|
117
117
|
async def get_organizations(db: Database = Depends(get_db)):
|
|
118
118
|
"""Get list of organizations the current user has access to."""
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return result.data
|
|
122
|
-
except Exception as e:
|
|
123
|
-
raise HTTPException(status_code=500, detail=str(e))
|
|
119
|
+
result = db.client.from_("organizations").select("*").execute()
|
|
120
|
+
return result.data
|
|
124
121
|
|
|
125
122
|
|
|
126
123
|
@app.get("/organizations/{organization_id}", response_model=Organization)
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
name: "ci"
|
|
2
|
-
on: # rebuild any PRs and main branch changes
|
|
3
|
-
pull_request:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
|
|
8
|
-
concurrency:
|
|
9
|
-
group: ${{ github.repository_owner }}-${{ github.repository }}-${{ github.ref }}
|
|
10
|
-
cancel-in-progress: true
|
|
11
|
-
|
|
12
|
-
env:
|
|
13
|
-
FORCE_COLOR: "1"
|
|
14
|
-
PYTHONUNBUFFERED: "1"
|
|
15
|
-
|
|
16
|
-
jobs:
|
|
17
|
-
build:
|
|
18
|
-
runs-on: ubuntu-latest
|
|
19
|
-
permissions:
|
|
20
|
-
contents: read
|
|
21
|
-
packages: write
|
|
22
|
-
|
|
23
|
-
strategy:
|
|
24
|
-
matrix:
|
|
25
|
-
python-version: ["3.10", "3.11", "3.12"]
|
|
26
|
-
|
|
27
|
-
steps:
|
|
28
|
-
- name: Checkout repository
|
|
29
|
-
uses: actions/checkout@v4
|
|
30
|
-
- name: Setup PDM
|
|
31
|
-
uses: pdm-project/setup-pdm@v4
|
|
32
|
-
with:
|
|
33
|
-
cache: false # project doesn't use pdm lock files
|
|
34
|
-
python-version: ${{ matrix.python-version }}
|
|
35
|
-
- name: Setup UV
|
|
36
|
-
uses: astral-sh/setup-uv@v5
|
|
37
|
-
- name: Configure PDM to use UV
|
|
38
|
-
run: pdm config use_uv true
|
|
39
|
-
- name: Cache Huggingface assets
|
|
40
|
-
uses: actions/cache@v4
|
|
41
|
-
with:
|
|
42
|
-
key: huggingface-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml') }}
|
|
43
|
-
path: ~/.cache/huggingface
|
|
44
|
-
restore-keys: |
|
|
45
|
-
huggingface-${{ runner.os }}-${{ matrix.python-version }}-
|
|
46
|
-
- name: Install dependencies
|
|
47
|
-
run: pdm install --group dev --no-lock
|
|
48
|
-
|
|
49
|
-
# TODO: re-enable when we have pre-commit hooks
|
|
50
|
-
# - name: Install pre-commit hooks
|
|
51
|
-
# run: pdm run pre-commit install
|
|
52
|
-
# - name: Ensure pre-commit hooks pass
|
|
53
|
-
# run: pdm run pre-commit run --all-files
|
|
54
|
-
|
|
55
|
-
# TODO: tests don't currently pass due to missing torch dependency
|
|
56
|
-
# see: https://github.com/longtermrisk/openweights/actions/runs/13210898278/job/36883965796?pr=11#step:8:29
|
|
57
|
-
|
|
58
|
-
# - name: Run tests
|
|
59
|
-
# env:
|
|
60
|
-
# HF_TOKEN: ${{ secrets.HF_TOKEN }}
|
|
61
|
-
# run: pdm run python -m pytest tests
|
|
62
|
-
|
|
63
|
-
release:
|
|
64
|
-
needs: build
|
|
65
|
-
environment: pypi
|
|
66
|
-
permissions:
|
|
67
|
-
contents: write
|
|
68
|
-
id-token: write
|
|
69
|
-
# https://github.community/t/how-do-i-specify-job-dependency-running-in-another-workflow/16482
|
|
70
|
-
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && !contains(github.event.head_commit.message, 'chore')
|
|
71
|
-
runs-on: ubuntu-latest
|
|
72
|
-
concurrency: release
|
|
73
|
-
steps:
|
|
74
|
-
- uses: actions/checkout@v4
|
|
75
|
-
with:
|
|
76
|
-
fetch-depth: 0
|
|
77
|
-
- uses: pdm-project/setup-pdm@v4
|
|
78
|
-
with:
|
|
79
|
-
cache: true
|
|
80
|
-
python-version: "3.12"
|
|
81
|
-
- name: build
|
|
82
|
-
run: pdm build
|
|
83
|
-
- name: Semantic Release
|
|
84
|
-
id: release
|
|
85
|
-
uses: python-semantic-release/python-semantic-release@v8.0.7
|
|
86
|
-
with:
|
|
87
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
88
|
-
|
|
89
|
-
# - name: Publish package distributions to PyPI
|
|
90
|
-
# uses: pypa/gh-action-pypi-publish@release/v1
|
|
91
|
-
# if: steps.release.outputs.released == 'true'
|
|
92
|
-
- name: Publish package distributions to GitHub Releases
|
|
93
|
-
uses: python-semantic-release/upload-to-gh-release@main
|
|
94
|
-
if: steps.release.outputs.released == 'true'
|
|
95
|
-
with:
|
|
96
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
97
|
-
|
|
98
|
-
# TODO: build and deploy docs to gh-pages
|
|
99
|
-
# do this as part of the semantic release step to ensure version is bumped
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/Auth/Auth.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/JobsView.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/TokenView.tsx
RENAMED
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/components/ViewToggle.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/contexts/AuthContext.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/supabaseClient.ts
RENAMED
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/openweights/dashboard/frontend/src/types/supabase.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openweights-0.7.2 → openweights-0.7.3}/supabase/migrations/20250118_storage_and_files_policies.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|