open-index/open-npm huggingface dataset:
npm package: @penrose/components
Description: `@penrose/components` includes a collection of React components for building Penrose clients (e.g. `@penrose/editor` and `@penrose/edgeworth`). See [the docs on the Penrose website][website docs].
Author: Penrose Team
Latest version: 3.3.0

# `@penrose/components`: a React component library for Penrose

`@penrose/components` includes a collection of React components for building
Penrose clients (e.g. `@penrose/editor` and `@penrose/edgeworth`). See [the docs
on the Penrose website][website docs].

[website docs]: https://penrose.cs.cmu.edu/docs/ref/react
npm package: @penrose/core
Description: `@penrose/core` contains the core of the Penrose platform, including the compilation pipeline and the SVG renderer. See the [website](https://penrose.cs.cmu.edu) for more details about the system in general, and for info on how to use this package with [v
Author: Penrose Team
Latest version: 3.3.0

# `@penrose/core`

`@penrose/core` contains the core of the Penrose platform, including the compilation pipeline and the SVG renderer. See the [website](https://penrose.cs.cmu.edu) for more details about the system in general, and for info on how to use this package with [vanilla JS][] or with a [bundler][]. Also see [@penrose/components](https://www.npmjs.com/package/@penrose/components) for React components wrapping around this core library.

[bundler]: https://penrose.cs.cmu.edu/docs/ref/bundle
[vanilla js]: https://penrose.cs.cmu.edu/docs/ref/vanilla-js
npm package: @penrose/linear-algebra
Description: linear-algebra-js is an optimized linear algebra library in pure Javascript. It supports both sparse and dense matrices, with routines to compute Cholesky, LU, and QR factorizations.
Author: Rohan Sawhney
Latest version: 1.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<a href="https://rohan-sawhney.github.io/linear-algebra-js/">
<img src="lajs-logo.png" height="64" width="141.27" align="right" />
</a>

# About

linear-algebra-js is an optimized linear algebra library in pure Javascript. It supports
both sparse and dense matrices, with routines to compute Cholesky, LU, and QR factorizations.

linear-algebra-js is implemented in [asm.js](http://asmjs.org) to obtain the best possible
performance for a Javascript program, and was compiled from a wrapper around the
C++ library [Eigen](https://eigen.tuxfamily.org) with [emscripten](http://emscripten.org). Future updates will compile the more optimized
sparse matrix library [Suitesparse](http://faculty.cse.tamu.edu/davis/suitesparse.html) to asm.js.

Detailed documentation and unit tests can be found in the docs and tests directories
of this [repository](https://github.com/rohan-sawhney/linear-algebra-js).

## Code Snippet

```
// solve the linear system Ax = b, where A is a square sparse matrix
let A = SparseMatrix.identity(5, 5);
let b = DenseMatrix.ones(5, 1);

let lu = A.lu();
let x = lu.solveSquare(b);

b.scaleBy(5);
x = lu.solveSquare(b); // factorization is reused
```

## Getting started

1. Clone this repository
```
git clone https://github.com/rohan-sawhney/linear-algebra-js.git
```

2. Include the files in the src directory in your browser or node js code.

## Author

[Rohan Sawhney](http://rohansawhney.io)

## License

[MIT](https://opensource.org/licenses/MIT)
npm package: @penrose/optimizer
Description: This package is an implementation detail; it exports bindings to the Penrose optimizer. See [@penrose/core](https://www.npmjs.com/package/@penrose/core).
Author: Penrose Team
Latest version: 3.2.0

# `@penrose/optimizer`

This package is an implementation detail; it exports bindings to the Penrose
optimizer. See [@penrose/core](https://www.npmjs.com/package/@penrose/core).
npm package: @penrose/roger
Description: This package is a command-line application that depends on `@penrose/core` and processes Penrose diagrams. See [the docs on the Penrose website][website docs].
Author: Penrose Team
Latest version: 3.3.0

# `@penrose/roger`: a CLI for Penrose

This package is a command-line application that depends on `@penrose/core` and
processes Penrose diagrams. See [the docs on the Penrose website][website docs].

Usage:

```
roger <command>

Commands:
  roger trio [trio..]    Generate a diagram from a Penrose trio.
  roger trios [trios..]  Create diagrams from multiple .trio.json files.
  roger watch            Watch the current folder for files & changes (must end
                         in .substance, .style, .domain)
  roger shapedefs        Generate a JSON file that contains all shape definition
                         s in the Penrose system.

Options:
  --version  Show version number                                       [boolean]
  --help     Show help                                                 [boolean]
```

## Getting started

- Follow the instruction in [`CONTRIBUTING.md`](/CONTRIBUTING.md) to install Penrose.
- Run `roger trio packages/examples/src/set-theory-domain/tree-euler.trio.json` from the repo root. The output SVG will appear in the console.

## Using `roger` for local development

- If you are developing a module in `core`, you can run `yarn start` in the project root direcory, which will continuously watch your changes in `core` and update your build.
- Check the console before you run `roger` to make sure your changes in `core` are not causing any errors.
- If the build is successful, `roger` will now be using the most recent version of `core` when batch-processing Penrose programs.

[website docs]: https://penrose.cs.cmu.edu/docs/ref/using#command-line-interface-roger
npm package: @pensar/ci
Description: Pensar CI - Automated continuous pentesting integrated with your CI/CD pipeline
Author: Pensar
Latest version: 2.4.0

# @pensar/ci

Automated security pentesting for your CI/CD pipeline.

## Installation

```bash
npm install @pensar/ci
```

## Usage

```bash
# Run a security pentest (full scan, all endpoints)
pensar pentest --project <project-id>

# Run a quick pentest (highest-risk endpoints only, ~15 mins)
pensar pentest --project <project-id> --quick

# Check pentest status
pensar status <scan-id>
```

### Options

| Option              | Description                                                                 |
| ------------------- | --------------------------------------------------------------------------- |
| `-p, --project`     | Project ID (or set `PENSAR_PROJECT_ID`)                                     |
| `-b, --branch`      | Branch to pentest                                                           |
| `-l, --level`       | Pentest level: `priority` or `full` (default: `full`)                       |
| `--quick`           | Shorthand for `--level priority`. Tests highest-risk endpoints only (~15 mins) |
| `-e, --environment` | Target environment: `dev`, `staging`, or `production`                       |
| `-c, --commit`      | Commit SHA (auto-detected from CI env vars, or set `PENSAR_COMMIT_SHA`)     |
| `-s, --severity`    | Minimum severity threshold to error on (or set `PENSAR_ERROR_SEVERITY_THRESHOLD`) |
| `--no-wait`         | Don't wait for pentest to complete                                          |

## Environment Variables

| Variable                         | Description                                            |
| -------------------------------- | ------------------------------------------------------ |
| `PENSAR_API_KEY`                 | Your Pensar API key                                    |
| `PENSAR_PROJECT_ID`              | Your Pensar project ID                                 |
| `PENSAR_ENVIRONMENT`             | Target environment (`dev`, `staging`, or `production`) |
| `PENSAR_COMMIT_SHA`              | Commit SHA override (auto-detected from `GITHUB_SHA`, `CI_COMMIT_SHA`, `BITBUCKET_COMMIT`) |
| `PENSAR_ERROR_SEVERITY_THRESHOLD`| Minimum severity to trigger a non-zero exit (`critical`, `high`, `medium`, `low`, `info`) |

## CI/CD Integration

See [`examples/`](./examples) for ready-to-use workflows:

- **GitHub Actions** — pentest on PR, push, or after deploy
- **GitLab CI** — merge request and pipeline triggers

## License

MIT