Skip to content

Conversation

@nfrasser
Copy link
Member

No description provided.

nfrasser and others added 30 commits December 12, 2024 10:51
Reached end-of-life over a year ago and  no longer supported by our upcoming dependencies
* better type checking
* additional related type fixes
* additional logic and consistency fixes
Uses openapi schema to generate a client class

Also includes
- improved media type implementation for streams - better compatibility with fastapi
- stub token model - first generated model from CryoSPARC. Other models will come later
If given a list of enums, it should encode their values
Don't put these in query params or headers
Use model_validate instead of __init__ when parsing JSON from the API to ensure that special model validators which use a different type have their results intepreted correctly by pydantic
Interface remains largely the same, with some deprecations and changes to return values for asset endpoints

* update unit tests to work with new api client: Mocks client functions rather than API requests. This is not the greatest, but mocking the HTTP requests would have been way more complicated
* stream, dataset and type fixes
* python 3.8 correct import and type issues
* additional async dump stream helpers
* update api and model types
* initial changelog
* improved stream protocol names
* docstring updates and improvements
* clear_cached_property for convenience
Move everything relevant into submodules, as per review feedback at #114 (comment)
* fix(tools): various bugs in new API integration
* docs(tools): notebook fixes to work with updated APIs
* docs(tools): README and CHANGELOG update
Software Platform Modernization (tools)
Run a command that saves tools authentication token to the user ~/.config directory. This allows running tools scripts without storing plain-text passwords on disk or environment variables

* feat: cryosparc.tools login CLI command
* test(cli): add tests and minor refactors
* docs(cli): additional docstrings and cli help
* docs(cli): improved cli help/docs
* fix(cli): review changes
* fix(cli): remove unnecessary windows arg
…fields (#123)

* fix(models): update generate models to latest version
* fix(models): type issues
There was never a feature where you only specify this. You always had to specify it with a username and password, which is all we need now anyway
Inputs are now objects instead of just lists
…e from dataset (#132)

* refactor(spm): use clearer error message when getting data field dtype from dataset, fix test cs client args when env present, improve dtype types map
* fix: remove kill call when stopping external job

Can now go directly from waiting/running to completed/failed

* chore: add limit 1 to latest workspace query

Option is now available

* feat(multi): find multiple projects, workspaces, jobs

New find_projects, find_workspaces and find_jobs methods for relevant controllers. find_jobs includes filtering arguments

* test(multi-find): fix test types

* fix(multi-find): correct type usage

* fix(multi-find): remove search typevar bounds

Not required for tools purposes

* feat(multi-find): workspace.find_job() method

Find a job within the current workspace (fails if Job UID exists in project but not in workspace)

* fix(multi-find): correct install warning

* docs(multi-find): job search example docstrings

* fix(multi-find): correct search for python 3.8

* fix(multi-find): python 3.8 fixes and consistent order arg

* chore(multi-find): update models from cryosparc
nfrasser and others added 17 commits July 14, 2025 10:58
Previously typevars were not correctly imported in the api client type stub. They should be now, though somewhat inelegantly, because it's difficult to generate model stubs with typevars
* docs(spm): initial api autosummary implementation

Generate API docs pages rather than creating each one manually

* docs(spm): delete ignore file

* docs(spm): fix various guide references

* docs(spm): exclude model_config autogenerated attribute

* docs(spm): correct vercel docs build

* docs(spm): full API client types docstring

* fix(spm): correct CryoSPARC init logic

* docs(spm): add generated model attribute docs

* docs(api): match api stubs original base class

* docs(spm): strip _ from generated models

Otherwise docs can't be generated for them

* refactor(spm): clean -> display

* docs(spm): update type docs to latest
Removed breaking change that no longer applies and clarify Job.doc field changes
* feat: set title and description on project, workspace, job

Dedicated controller functions

* refactor: set_desc -> set_description
Instead of python object mode. Fixes circular reference error when used on some models
Returns True if the given hostname is the current host
* feat: use the app for api requests

Instead of making people forward baseport + 2

* feat: send user agent with tools API requests

* fix: correct api suffix use
that is, values that are Literals and Enums with a single item
@nfrasser nfrasser self-assigned this Sep 30, 2025
@vercel
Copy link

vercel bot commented Sep 30, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
cryosparc-tools Ready Ready Preview Comment Nov 19, 2025 7:40pm

* feat(event): add/update event log with name

Can use the event's ID as its name, named events reset when a checkpoint is created

* test(event): tests for updating logs

* test(event): cleanup

* fix(event): typo for python 3.8

* fix(event): typo for python 3.8

* fix(event): review fixes

* fix(event): revert to name/id behaviour

* docs(event): better name docstring

* refactor(event): separate name and ID arguments

No longer use ID as name to reduce ambiguity

* docs(event): fix docstring typo
Will upgrade to 2 in a separate build
For python 3.8 compatibility
* fix(dataset): increase max numpy header size

When loading dataset. Prevents load failure for some datasets with large headers

* fix(dataset): python 3.8 compat
* ci(python): python 3.14 support

* ci(python): use newer macos intel image

macos-13 is shutting down [ci test build]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants