# @cocalc/project

> CoCalc: project daemon

Latest version **1.34.3** (published 2022-12-20) · SEE LICENSE.md license · 0 weekly downloads

## Install

```sh
npm install @cocalc/project
pnpm add @cocalc/project
yarn add @cocalc/project
bun add @cocalc/project
```

Provides the command `cocalc-project`.

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: insecure dependencies; abandoned.

## Facts

| | |
|---|---|
| Version | 1.34.3 |
| Published | 2022-12-20 |
| First published | 2021-08-03 |
| Weekly downloads | 0 |
| License | SEE LICENSE.md |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 51 |
| Unpacked size | 1.2 MB |
| Known vulnerabilities | 0 (+4 in 3 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1288 |
| Author | SageMath, Inc. |
| Maintainers | wstein, hasch |
| Keywords | python, sage, sagemath, latex, terminal, web, ide, math, mathematics |

## Links

- npm: https://www.npmjs.com/package/@cocalc/project
- Repository: https://github.com/sagemathinc/cocalc
- Homepage: https://github.com/sagemathinc/cocalc/tree/master/src/packages/project
- Issues: https://github.com/sagemathinc/cocalc/issues
- npm.io page: https://npm.io/package/@cocalc/project

## Dependencies (51)

- [ws](https://npm.io/package/ws.md) ^6.0.0
- [tmp](https://npm.io/package/tmp.md) 0.0.33
- [temp](https://npm.io/package/temp.md) ^0.9.4
- [uuid](https://npm.io/package/uuid.md) ^8.3.2
- [async](https://npm.io/package/async.md) ^1.5.2
- [debug](https://npm.io/package/debug.md) ^4.3.2
- [execa](https://npm.io/package/execa.md) ^5.0.0
- [which](https://npm.io/package/which.md) ^2.0.2
- [expect](https://npm.io/package/expect.md) ^26.6.2
- [mkdirp](https://npm.io/package/mkdirp.md) ^1.0.4
- [primus](https://npm.io/package/primus.md) ^8.0.6
- [zeromq](https://npm.io/package/zeromq.md) ^5.2.8
- [express](https://npm.io/package/express.md) ^4.17.1
- [request](https://npm.io/package/request.md) ^2.88.0
- [awaiting](https://npm.io/package/awaiting.md) ^3.0.0
- [chokidar](https://npm.io/package/chokidar.md) ^3.5.3
- [fs-extra](https://npm.io/package/fs-extra.md) ^9.0.0
- [get-port](https://npm.io/package/get-port.md) ^5.1.1
- [jsonfile](https://npm.io/package/jsonfile.md) ^6.1.0
- [node-pty](https://npm.io/package/node-pty.md) ^0.10.1
- [pidusage](https://npm.io/package/pidusage.md) ^1.2.0
- [prettier](https://npm.io/package/prettier.md) ^2.6.2
- [commander](https://npm.io/package/commander.md) ^7.2.0
- [diskusage](https://npm.io/package/diskusage.md) ^1.1.3
- [lru-cache](https://npm.io/package/lru-cache.md) ^6.0.0
- [uglify-js](https://npm.io/package/uglify-js.md) ^3.14.1
- [formidable](https://npm.io/package/formidable.md) ^1.2.2
- [googlediff](https://npm.io/package/googlediff.md) ^0.1.0
- [portfinder](https://npm.io/package/portfinder.md) ^1.0.28
- [underscore](https://npm.io/package/underscore.md) ^1.12.1
- [@types/uuid](https://npm.io/package/@types/uuid.md) ^8.3.1
- [body-parser](https://npm.io/package/body-parser.md) ^1.19.0
- [compression](https://npm.io/package/compression.md) ^1.7.4
- [kernelspecs](https://npm.io/package/kernelspecs.md) ^2.0.1
- [prom-client](https://npm.io/package/prom-client.md) ^13.0.0
- [serve-index](https://npm.io/package/serve-index.md) ^1.9.1
- [@cocalc/sync](https://npm.io/package/@cocalc/sync.md) ^0.10.1
- [@cocalc/util](https://npm.io/package/@cocalc/util.md) ^1.75.0
- [jupyter-paths](https://npm.io/package/jupyter-paths.md) ^2.0.3
- [better-sqlite3](https://npm.io/package/better-sqlite3.md) ^7.6.2
- [@cocalc/backend](https://npm.io/package/@cocalc/backend.md) ^1.21.1
- [@cocalc/frontend](https://npm.io/package/@cocalc/frontend.md) ^1.101.3
- [@types/lru-cache](https://npm.io/package/@types/lru-cache.md) ^5.1.1
- [primus-multiplex](https://npm.io/package/primus-multiplex.md) github:STRML/primus-multiplex
- [primus-responder](https://npm.io/package/primus-responder.md) ^1.0.4
- [async-await-utils](https://npm.io/package/async-await-utils.md) ^3.0.1
- [daemonize-process](https://npm.io/package/daemonize-process.md) ^3.0.0
- [express-rate-limit](https://npm.io/package/express-rate-limit.md) ^6.3.0
- [lean-client-js-node](https://npm.io/package/lean-client-js-node.md) ^1.2.12
- [enchannel-zmq-backend](https://npm.io/package/enchannel-zmq-backend.md) ^9.1.23
- [json-stable-stringify](https://npm.io/package/json-stable-stringify.md) ^1.0.1

## Alternatives

- [adhdev](https://npm.io/package/adhdev.md) — 11.1K weekly downloads
- [react-slide-button](https://npm.io/package/react-slide-button.md) — 310 weekly downloads
- [better](https://npm.io/package/better.md) — 42 weekly downloads
- [react-native-swipe-image](https://npm.io/package/react-native-swipe-image.md) — 22 weekly downloads
- [nl.fokkezb.pulltorefresh](https://npm.io/package/nl.fokkezb.pulltorefresh.md) — 11 weekly downloads

## Recent versions

- 1.34.3 (latest) — 2022-12-20
- 1.16.0 (pr-5775) — 2022-03-15
- 1.9.1 (pr5543) — 2021-10-29
- 1.7.3 (pr5519) — 2021-10-18
- 1.34.2 — 2022-12-06
- 1.34.1 — 2022-12-06
- 1.34.0 — 2022-11-30
- 1.33.0 — 2022-11-29
- 1.32.1 — 2022-11-25
- 1.32.0 — 2022-11-16
- 1.31.1 — 2022-11-09
- 1.31.0 — 2022-11-01
- 1.30.2 — 2022-10-19
- 1.30.1 — 2022-10-19
- 1.30.0 — 2022-10-12
- … 64 more at https://npm.io/package/@cocalc/project/versions

## README

This is the Node.js daemon that run in a CoCalc project.  It includes some support code related to realtime sync, a self contained Jupyter kernel server, the node.js parts of our Sage worksheet server, and much more.

This code is part of https://github.com/sagemathinc/cocalc and isn't currently designed to be used standalone. Our plan is to refactor this code into smaller useful modules that are published under the @cocalc npm organization.

## Environment variables

- `DATA` -- directory where local data about the running project server is stored. The default is `~/.cocalc`.

- `HUB_PORT` -- the project starts a TCP server listening on this port for connections _from_ the hub. Connections are denied unless they start with a secret token that is shared between the project and the hub. On cocalc-docker, the hub loads this from the filesystem. On Kubernetes, it shares it via a Kubernetes secret. If this variable is not set, then the operating system assigns the hub port at random, and you can find it in $DATA.

- `CLIENT_PORT` -- the project also starts an HTTP server (that supports websockets) on this port for connections from web browser *clients*. The hub only proxies connections to the project if the user is allowed to make them, which is how this is secured in Kubernetes. In cocalc-docker, the hub inserts an extra cookie in the http request... TODO.

- `COCALC_PROJECT_ID`

- `COCALC_USERNAME`

---
_Source: https://npm.io/package/@cocalc/project · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
