Skip to content

Conversation

@kris-brown
Copy link
Collaborator

This PR simplifies a lot of the structure of the CatColabInterop.jl package.

It introduces a new analysis of schema instances by sending the diagram to Catlab, where it is processed by @acset_colim to produce a tabular instance.

(This is currently a WIP - once the workflow is working for the tabular view analysis, the existing Decapodes analysis will be brought back into functionality).

@github-actions
Copy link

github-actions bot commented Nov 8, 2025

@kris-brown kris-brown self-assigned this Nov 8, 2025
@kris-brown kris-brown added the enhancement New feature or request label Nov 8, 2025
@epatters epatters force-pushed the update-cclinterop-types branch from 967ea9f to 113a4f8 Compare November 11, 2025 12:20
@epatters epatters added the external Work on interfacing with other tools label Nov 26, 2025
@kris-brown kris-brown changed the base branch from update-cclinterop-types to main December 12, 2025 18:33
@kris-brown kris-brown marked this pull request as ready for review December 12, 2025 18:33
CLEANUP: changing tests

CLEANUP: reorganized code into parse and execute folders

refactor algjuliainterop
CORS and async issues resolved

basic tabular view functionality

edit

remove decapodes material
@github-actions github-actions bot temporarily deployed to netlify-preview December 16, 2025 01:02 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 18, 2025 22:21 Destroyed
@github-actions github-actions bot temporarily deployed to netlify-preview December 19, 2025 21:18 Destroyed
Comment on lines +120 to +130
async ([model, diagram]) => {
const response = await axios.post(
"http://127.0.0.1:8080/acsetcolim",
{
model: model?.presentation(),
diagram: diagram?.presentation(),
},
config,
);
return response.data;
},
Copy link
Member

@kasbah kasbah Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should be able to do this without axios, using native fetch instead. It's a bit more code but also more explicit about what's going on. Something like:

async ([model, diagram]) => {
    const response = await fetch(
        "http://127.0.0.1:8080/acsetcolim",
        {
            method: "POST",
            headers: {
                "Content-Type": "application/json",
                ...config.headers,
            },
            body: JSON.stringify({
                model: model?.presentation(),
                diagram: diagram?.presentation(),
            })
        },
    );
    
    if (!response.ok) {
        throw new Error(`HTTP error! status: ${response.status}`);
    }
    
    return response.json();
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request external Work on interfacing with other tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants