Spaces:
Running on Zero
Running on Zero
Commit History
-
Merge pull request #7 from instadeepai/dependabot/uv/uv-cb16c77914 Running
Unverified signaturebuild(deps): bump aiohttp from 3.14.1 to 3.14.3 in the uv group across 1 directorya2f3517
-
build(deps): bump aiohttp in the uv group across 1 directory
dependabot[bot]Unverified signature--- updated-dependencies: - dependency-name: aiohttp dependency-version: 3.14.3 dependency-type: indirect dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com>49aa066
-
Merge pull request #6 from instadeepai/dependabot/uv/uv-27357673a3
Unverified signaturebuild(deps): bump gitpython from 3.1.50 to 3.1.54 in the uv group across 1 directory2d88bd7
-
build(deps): bump gitpython in the uv group across 1 directory
dependabot[bot]Unverified signatureBumps the uv group with 1 update in the / directory: [gitpython](https://github.com/gitpython-developers/GitPython). Updates `gitpython` from 3.1.50 to 3.1.54 - [Release notes](https://github.com/gitpython-developers/GitPython/releases) - [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES) - [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.50...3.1.54) --- updated-dependencies: - dependency-name: gitpython dependency-version: 3.1.54 dependency-type: indirect dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com>45c1da8
-
Merge pull request #5 from instadeepai/dependabot/uv/uv-b15cf8365f
Unverified signaturebuild(deps): bump msgpack from 1.1.2 to 1.2.1 in the uv group across 1 directory91e893b
-
build(deps): bump msgpack in the uv group across 1 directory
dependabot[bot]Unverified signatureBumps the uv group with 1 update in the / directory: [msgpack](https://github.com/msgpack/msgpack-python). Updates `msgpack` from 1.1.2 to 1.2.1 - [Release notes](https://github.com/msgpack/msgpack-python/releases) - [Changelog](https://github.com/msgpack/msgpack-python/blob/main/CHANGELOG.md) - [Commits](https://github.com/msgpack/msgpack-python/compare/v1.1.2...v1.2.1) --- updated-dependencies: - dependency-name: msgpack dependency-version: 1.2.1 dependency-type: indirect dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com>168570a
-
chore: upgrade packages
238321a
-
Regenerate knapsack_cache.zip for instanovo 1.2.2 format
43f3d26 -
Patch gradio_log.Log in-place for per-session tailing
The SessionLog subclass introduced earlier caused 404s on its templates/component/{index.js,style.css} when deployed to HF Spaces. Reason: gradio/routes.py custom_component_path resolves frontend assets relative to the component's __module__ file. Subclassing in app.py made Gradio look for <app_dir>/templates/component/index.js, which doesn't exist, so the bundle was never served and the SPA hung in a loading loop. Subclassing with __module__ = "gradio_log.log" also breaks because Gradio's component_meta generates a .pyi stub at class-definition time via inspect.getsource(), which then can't locate the source. Monkey-patch Log.read_to_end / Log.get_current_reading_pos on the upstream class instead. Log.__init__ captures value=self.read_to_end at construction, so binding takes effect for a vanilla Log() call; no subclass, no @gr.render, no asset-path drift. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>b132227 -
Disable SSR on launch to fix HF Spaces 500
Gradio 5.50 enabled SSR by default. On HF Spaces the container reports healthy ("Running on local URL: http://0.0.0.0:7860") but the public proxy returns 500 because the first server-side render fails. The container log itself hints at the fix: "set ssr_mode=False in launch()". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>59d0c68 -
Loosen depenceny requirements
a9c4808 -
Ignore Gradio's auto-generated app.pyi stub
Gradio writes a type-stub .pyi next to the entrypoint when the Blocks is loaded, which kept dirtying the working tree after every local run. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>33ba5af -
Fix queue KeyError by tailing per-session log files in a Log subclass
The @gr.render block I used to make the Log component per-session was the cause of the production KeyError seen on HF Spaces: File ".../gradio/queueing.py", line 289, in push fn = session_state.blocks_config.fns[body.fn_index] KeyError: 6 gradio_log.Log registers its own internal gr.State and timer-driven load event on construction. Putting it inside @gr.render makes those event handlers re-register on every re-render, shifting fn_index and desynchronising the frontend's cached value with the queue's registry. Fix: subclass Log as SessionLog and override read_to_end / get_current_reading_pos to read {LOG_DIR}/{session_hash}.log on each poll. The base class already injects the polling session's hash into read_to_end (via gr.Request on its load event), so a single static SessionLog component gives perfect per-session isolation with no @gr.render reshuffling. The previous gr.State(delete_callback=_cleanup_session_log) is kept for cleanup-on-session-GC, but it's no long…3665de4
-
Refresh greedy-decode log-prob baseline for torch 2.8.0
The reproducibility baseline in tests/expected_results.json was generated against torch 2.4.1+cu124. After bumping to torch 2.8.0 (cu126) for ZeroGPU compatibility, the predicted peptides match but the log-probabilities differ in the low-order floats from underlying kernel changes. Regenerated via: pytest tests/test_reproducibility.py::TestExpectedResults::test_generate_expected_results -s Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>303b44b -
Isolate application logs per Gradio session
The "Application Logs" panel was reading and writing a single shared file at /tmp/instanovo_gradio_log.txt, so concurrent users on the Space saw each other's spectra paths, decoder choices, batch indices, and timings. With default_concurrency_limit=5 the file also had interleaved lines from different requests. - Replace the module-level FileHandler with a SessionContextHandler that appends to whatever path a contextvars.ContextVar (_session_log_path) currently holds; records are dropped when no session context is set (e.g. at module import). - predict_peptides now takes a gr.Request (auto-injected by Gradio), sets _session_log_path to {LOG_DIR}/{session_hash}.log on entry, and resets it in finally so worker-thread reuse can't leak. - Replace the static Log(log_file, ...) with a gr.State seeded by demo.load(_init_session_log) and a @gr.render block that builds the Log component once the per-session path is known. - Clean up the per-session file via gr.State(delete_callbac…48f69c0 -
Bump dependencies
013bfba -
Bump spaces to 0.50.2
920f8f7 -
Make torch version in requirements.txt compatible with ZeroGPU.
8dbea7a -
Update tests
a9d662c
-
Retrigger build
bf8e405
-
Update InstaNovo to v1.2.2 with reproducibility fixes
- Update instanovo dependency from >=1.1.4 to ==1.2.2 - Add set_seed() function for deterministic behavior across environments - Set random seeds for Python, NumPy, and PyTorch - Enable torch.backends.cudnn.deterministic for consistent CUDA results - Reset seed before each prediction call - Add comprehensive reproducibility tests This addresses the variability issue between local and HF Spaces runs reported in: https://github.com/instadeepai/InstaNovo/issues/92d66a489 -
build(deps): bump the uv group across 1 directory with 12 updates
--- updated-dependencies: - dependency-name: aiohttp dependency-version: 3.13.3 dependency-type: indirect dependency-group: uv - dependency-name: filelock dependency-version: 3.20.3 dependency-type: indirect dependency-group: uv - dependency-name: fonttools dependency-version: 4.60.2 dependency-type: indirect dependency-group: uv - dependency-name: h11 dependency-version: 0.16.0 dependency-type: indirect dependency-group: uv - dependency-name: orjson dependency-version: 3.11.6 dependency-type: indirect dependency-group: uv - dependency-name: protobuf dependency-version: 6.33.5 dependency-type: indirect dependency-group: uv - dependency-name: python-multipart dependency-version: 0.0.22 dependency-type: indirect dependency-group: uv - dependency-name: requests dependency-version: 2.32.4 dependency-type: indirect dependency-group: uv - dependency-name: setuptools dependency-version: 78.1.1 dependency-type: indirect dependency-group: uv…68c16e6
-
Remove local Gradio certificate
dc19252 -
Handle InstaNovo decoder output changes
43638eb -
Pin Space runtime dependencies
a27af69 -
Retrigger build
765a8b3 -
Bump HF Spaces sdk_version to 5.38.2
Aligns the runtime image with requirements.txt (gradio>=5.33.1) so pip no longer has to upgrade gradio on top of the older 5.23.1 image during Space startup. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>25ecec4 -
Revert "Remove bundled knapsack_cache.zip"
This reverts commit 92dc18f7f9476c3ccfb4ef9038daee6855c6030f.0ec2b0c -
Remove bundled knapsack_cache.zip
The extracted knapsack_cache/ directory is committed instead; the zip was redundant and large. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>92dc18f -
Lazy-load models on first prediction for ZeroGPU
On ZeroGPU the main process has no CUDA attached: the GPU is only allocated inside the @spaces.GPU subprocess (which re-imports the module). The previous import-time work was therefore wasted: torch.cuda.is_available() returned False so DEVICE pinned to "cpu", both models were loaded into CPU RAM, and a missing knapsack would burn CPU minutes generating one — only for the GPU worker to redo it all on import. - Default DEVICE/FP16 to cpu/False at import; resolve them inside load_models_and_knapsack() via _resolve_device(). - Decompose load_models_and_knapsack into _load_transformer / _load_diffusion / _load_knapsack helpers; make the entry point idempotent and side-effect-free until first called. - Drop the module-level load_models_and_knapsack() call. - Call load_models_and_knapsack() once at the top of predict_peptides (inside @spaces.GPU) and replace the three retry-on-None branches with simple checks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>f49d9f4 -
Adapt to InstaNovo v1.2.2 API
- Switch imports to TransformerDataProcessor / DiffusionDataProcessor, ResidueSet, Metrics, SpectrumDataFrame from their new modules. - Bump TRANSFORMER_MODEL_ID to instanovo-v1.2.0. - Build dataloaders via process_dataset / collate_fn; read batches as dicts (batch["spectra"], batch["precursors"], batch["spectra_mask"]). - Handle the new dict return contract: GreedyDecoder / KnapsackBeamSearchDecoder / DiffusionDecoder all return dicts with predictions / mass_error / prediction_log_probability / prediction_token_log_probabilities; KnapsackBeamSearch now requires beam_size on decode(). - Update tests to use the new data processor API. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>043641a
-
Fix package configuration for editable install
Add build-system and setuptools config to explicitly define the package structure, avoiding automatic discovery of assets/knapsack_cache dirs.85dde37 -
Update InstaNovo to v1.2.2 with reproducibility fixes
- Update instanovo dependency from >=1.1.4 to ==1.2.2 - Add set_seed() function for deterministic behavior across environments - Set random seeds for Python, NumPy, and PyTorch - Enable torch.backends.cudnn.deterministic for consistent CUDA results - Reset seed before each prediction call - Add comprehensive reproducibility tests This addresses the variability issue between local and HF Spaces runs reported in: https://github.com/instadeepai/InstaNovo/issues/922c21889
-
Upgrade to instanovo 1.1.4
2a085c2
-
Upgrade to InstaNovo v1.1.3 with new diffusion checkpoint
802d9be
-
build: update requirements
a068c4e -
fix: handle upper, lower and mixed case file extensions
3837900 -
docs: update citation
49be281
-
Add thumbnail
Verified signature403c08f -
docs: move Notes section lower
be33993 -
build: add knapsack_cache to .gitignore
e9cdd3a -
build: add allowed_paths to demo.launch
eca3424 -
build: unzip knapsack_cache.zip if it exists
856ffba -
build: Add knapsack_cache.zip to LFS
224b647 -
build: change svg to png
See: https://github.com/gradio-app/gradio/issues/884#issuecomment-23491992684945526 -
docs: solid color green
ef79d9d -
docs: white is not an allowed color
4274e96 -
docs: update README
2bb1382 -
docs: add note about ZeroGPU
f4fb49b -
fix: pass full residue set to knapsack
e7ec3c2