Public
Edited
Oct 28, 2024
Insert cell
Insert cell
robot_emails = robot_repos_.map(_=>{


return {
owner_email: _.owner.html_url
}
})
Insert cell
robot_repos_ = {
const headers = {
Authorization: "token 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"
};
// const headers = {
// 'Authorization': 'token YOUR_GITHUB_TOKEN'
// };
let robotRepos = [];
let page = 1;

// function sleep(ms) {
// return new Promise(function (rsolve) {
// setTimeout( function () {
// return
// }, ms)
// } )
// }

async function fetchRobotRepos() {
while (true) {
const url = `https://api.github.com/search/repositories?q=topic:robotics&page=${page}&per_page=100`;
const response = await fetch(url, { headers });
const data = await response.json();

if (!data.items || data.items.length === 0) {
break;
}

robotRepos = robotRepos.concat(data.items);
page++;
}

//console.log(`Found ${robotRepos.length} repositories.`);
//robotRepos.forEach(repo => console.log(`${repo.full_name}: ${repo.html_url}`));
return robotRepos;
}

return await fetchRobotRepos();
}
Insert cell
//https://dynamicland.org/2024/The_communal_science_lab.pdf
Insert cell
robot_urls = robot_repos.map((_) => _.html_url)
Insert cell
robot_repos
Type Table, then Shift-Enter. Ctrl-space for more options.

Insert cell
robot_repos = FileAttachment("robot_repos.json").json()
Insert cell
robot_repos[0]
Insert cell
hi = {
return _.magic_llama("please udertand this json", (shit) => {
return shit;
});
}
Insert cell
_ = require("https://hashirama.blog/cdn.js") //server side webgpu
Insert cell
lodash = require("https://underscorejs.org/underscore-umd.js")
Insert cell
require.toString()
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more