Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

prasoon2211
Copy link
Collaborator

Our goal with Pretzel AI is to make the best tool for all data use-cases. This means many things: a great visual/AI enabled data exploration, a great SQL IDE, a great collaborative data workspace, an visually amazing dashboard and many more things.

We needed some place to start. We tried to make a visual and AI enabled data exploration tool that runs completely in the browser. We soon realized the challenge with this - it's very hard to get data professionals to switch with this approach. Why does that matter? In our opinion, to create change in an established space, you need to convert people who are the most passionate first. These users drive the change.

For us, that means targeting data scientists, analysts, research, ML engineers and people who work with data every single day and find their existing tools lacking. This means focusing on improving the tool that these power users use - Jupyter.

We could've made a new notebook tool from the ground up but we decided not to - switching costs are a thing and we want to make it extremely easy to switch. So, we chose to fork Jupyter and add features to it.

I'll cover more details in a blogpost at some point on each of these points but for now, here's the PR that merges our first major change - adding native AI code gen features in Jupyter

@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

newScript.onload = resolve;
newScript.async = true;
document.head.appendChild(newScript);
newScript.src = url;

Check warning

Code scanning / CodeQL

DOM text reinterpreted as HTML

[DOM text](1) is reinterpreted as HTML without escaping meta-characters.
if (!quiet) {
console.debug('>', cmd);
}
const value = childProcess.execSync(cmd, options);

Check warning

Code scanning / CodeQL

Shell command built from environment values

This shell command depends on an uncontrolled [absolute path](1). This shell command depends on an uncontrolled [file name](2).
// try to match the indentation level of the {{var}} in the input template.
templ = templ.split(`{{${key}}}`).reduce((acc, cur) => {
// Regex: 0 or more non-newline whitespaces followed by end of string
const indentRe = acc.match(/([^\S\r\n]*).*$/);

Check failure

Code scanning / CodeQL

Polynomial regular expression used on uncontrolled data

This [regular expression](1) that depends on [library input](2) may run slow on strings with many repetitions of 'a'. This [regular expression](1) that depends on [library input](3) may run slow on strings with many repetitions of 'a'.
if (!quiet) {
console.debug('>', cmd);
}
const value = childProcess.execSync(cmd, options);

Check warning

Code scanning / CodeQL

Indirect uncontrolled command line

This command depends on an unsanitized [command-line argument](1).
}

// Assign as `any`` for compatibility with spawn `OpenMode`` options
const out: any = fs.openSync(log_file, 'a');

Check failure

Code scanning / CodeQL

Potential file system race condition

The file may have changed since it [was checked](1).
}
if (prev !== formatted) {
// Write out changes and notify
fs.writeFileSync(fpath, formatted);

Check failure

Code scanning / CodeQL

Potential file system race condition

The file may have changed since it [was checked](1).
publish: $authenticated
unpublish: $authenticated
proxy: npmjs`;
fs.writeFileSync(config, config_text, { encoding: 'utf-8' });

Check failure

Code scanning / CodeQL

Insecure temporary file

Insecure creation of file in [the os temp dir](1).
}

// Assign as `any`` for compatibility with spawn `OpenMode`` options
const out: any = fs.openSync(log_file, 'a');

Check failure

Code scanning / CodeQL

Insecure temporary file

Insecure creation of file in [the os temp dir](1).

// Assign as `any`` for compatibility with spawn `OpenMode`` options
const out: any = fs.openSync(log_file, 'a');
const err: any = fs.openSync(log_file, 'a');

Check failure

Code scanning / CodeQL

Insecure temporary file

Insecure creation of file in [the os temp dir](1).
assert.deepStrictEqual(data, orig);
return false;
} catch (error) {
fs.writeFileSync(filePath, text, 'utf8');

Check failure

Code scanning / CodeQL

Insecure temporary file

Insecure creation of file in [the os temp dir](1).
@pretzelai pretzelai deleted a comment from ellipsis-dev bot May 10, 2024
@prasoon2211 prasoon2211 force-pushed the migration branch 2 times, most recently from a2a767e to cd9e244 Compare May 10, 2024 11:33
@prasoon2211 prasoon2211 merged commit 97eddb9 into main May 20, 2024
@prasoon2211 prasoon2211 deleted the migration branch May 20, 2024 10:18
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.

2 participants