# @cocalc/server

> CoCalc server functionality: functions used by either the hub and the next.js server

Latest version **0.44.5** (published 2023-01-04) · SEE LICENSE.md license · 0 weekly downloads

## Install

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

## Health

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

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.44.5 |
| Published | 2023-01-04 |
| First published | 2021-11-03 |
| Weekly downloads | 0 |
| License | SEE LICENSE.md |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 37 |
| Unpacked size | 1.1 MB |
| Known vulnerabilities | 0 (+13 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1288 |
| Author | SageMath, Inc. |
| Maintainers | wstein, hasch |
| Keywords | utilities, cocalc |

## Links

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

## Dependencies (37)

- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [stripe](https://npm.io/package/stripe.md) ^8.78.0
- [cookies](https://npm.io/package/cookies.md) ^0.8.0
- [awaiting](https://npm.io/package/awaiting.md) ^3.0.0
- [passport](https://npm.io/package/passport.md) ^0.6.0
- [lru-cache](https://npm.io/package/lru-cache.md) ^6.0.0
- [node-fetch](https://npm.io/package/node-fetch.md) ^3.2.10
- [nodemailer](https://npm.io/package/nodemailer.md) ^6.7.0
- [random-key](https://npm.io/package/random-key.md) ^0.3.2
- [await-spawn](https://npm.io/package/await-spawn.md) ^4.0.2
- [@cocalc/util](https://npm.io/package/@cocalc/util.md) ^1.76.5
- [node-zendesk](https://npm.io/package/node-zendesk.md) ^2.2.0
- [parse-domain](https://npm.io/package/parse-domain.md) ^5.0.0
- [@types/lodash](https://npm.io/package/@types/lodash.md) ^4.14.176
- [passport-saml](https://npm.io/package/passport-saml.md) ^3.2.1
- [@sendgrid/mail](https://npm.io/package/@sendgrid/mail.md) ^7.5.0
- [@types/express](https://npm.io/package/@types/express.md) ^4.17.13
- [passport-apple](https://npm.io/package/passport-apple.md) ^2.0.1
- [passport-oauth](https://npm.io/package/passport-oauth.md) ^1.0.0
- [passport-orcid](https://npm.io/package/passport-orcid.md) ^0.0.4
- [@cocalc/backend](https://npm.io/package/@cocalc/backend.md) ^1.21.1
- [@types/passport](https://npm.io/package/@types/passport.md) ^1.0.9
- [@cocalc/database](https://npm.io/package/@cocalc/database.md) ^0.35.8
- [@types/lru-cache](https://npm.io/package/@types/lru-cache.md) ^5.1.1
- [passport-github2](https://npm.io/package/passport-github2.md) ^0.1.12
- [passport-gitlab2](https://npm.io/package/passport-gitlab2.md) ^5.0.0
- [passport-twitter](https://npm.io/package/passport-twitter.md) ^1.0.4
- [@types/nodemailer](https://npm.io/package/@types/nodemailer.md) ^6.4.4
- [async-await-utils](https://npm.io/package/async-await-utils.md) ^3.0.1
- [passport-azure-ad](https://npm.io/package/passport-azure-ad.md) ^4.3.4
- [passport-facebook](https://npm.io/package/passport-facebook.md) ^3.0.0
- [passport-ldapauth](https://npm.io/package/passport-ldapauth.md) ^3.0.1
- [@types/node-zendesk](https://npm.io/package/@types/node-zendesk.md) ^2.0.9
- [safe-json-stringify](https://npm.io/package/safe-json-stringify.md) ^1.2.0
- [passport-openidconnect](https://npm.io/package/passport-openidconnect.md) ^0.1.1
- [passport-activedirectory](https://npm.io/package/passport-activedirectory.md) ^1.0.4
- [@passport-next/passport-google-oauth2](https://npm.io/package/@passport-next/passport-google-oauth2.md) ^1.0.0

## Recent versions

- 0.44.5 (latest) — 2023-01-04
- 0.37.4 (next-sso) — 2022-08-23
- 0.29.0 (boost-dedi-5796) — 2022-05-11
- 0.21.5 (pr-5795) — 2022-04-05
- 0.17.0 (pr-5775) — 2022-03-15
- 0.16.0 (pr-5723) — 2022-03-06
- 0.44.4 — 2023-01-03
- 0.44.3 — 2023-01-03
- 0.44.2 — 2023-01-02
- 0.44.1 — 2022-11-30
- 0.44.0 — 2022-11-30
- 0.43.5 — 2022-11-09
- 0.43.4 — 2022-11-07
- 0.43.3 — 2022-11-07
- 0.43.2 — 2022-11-02
- … 67 more at https://npm.io/package/@cocalc/server/versions

## README

# CoCalc

[![Make all packages and run their tests](https://github.com/sagemathinc/cocalc/actions/workflows/make-and-test.yml/badge.svg)](https://github.com/sagemathinc/cocalc/actions/workflows/make-and-test.yml)

#### <u>_**Co**_</u>_llaborative_ <u>_**Calc**_</u>_ulation_

CoCalc is web-based software that enables collaboration in research, teaching, and scientific publishing. It includes [Jupyter Notebooks](https://cocalc.com/features/jupyter-notebook), [Sage Worksheets](https://cocalc.com/features/sage), a [LaTeX Editor](https://cocalc.com/features/latex-editor) and a [Linux Terminal](https://cocalc.com/features/terminal) to help people work together in real time from different locations. It also has a [Computational Whiteboard](https://cocalc.com/features/whiteboard) for expressing and sharing ideas and running code. It is available for free and [can be upgraded for internet access, better hosting quality, and other features](https://cocalc.com/store). It can also be used for [teaching courses](https://cocalc.com/features/teaching) with flexible [course license options](https://cocalc.com/pricing/courses). It is also possible to run CoCalc [on your own infrastructure](https://cocalc.com/pricing/onprem).

**CoCalc** supports sophisticated calculations that arise in teaching, research, and authoring documents. This includes working with the full data science and scientific Python stack, [SageMath](https://www.sagemath.org), [Julia](https://julialang.org), [R Statistics](https://cocalc.com/doc/r-statistical-software.html), [Octave](https://www.gnu.org/software/octave/), and much more. It also offers capabilities to author documents in [LaTeX](https://cocalc.com/doc/latex-editor.html), R/knitr and Markdown, storing and organizing files, a web-based [Linux Terminal](https://doc.cocalc.com/terminal.html), an [X11 graphical desktop](https://doc.cocalc.com/x11.html), and communication tools like a [chatrooms](https://doc.cocalc.com/chat.html), [course management](https://cocalc.com/doc/teaching.html) and more. It is the best choice for [teaching remote scientific courses](https://cocalc.com/doc/teaching.html).

## Quick Start

1. Visit https://cocalc.com
2. Sign up for a free account
3. Create a new project
4. Choose a computational environment (e.g., Jupyter Notebook, Sage Worksheet, LaTeX Editor)
5. Start collaborating with others in real-time

## Key Features

- **Jupyter Notebooks**: Interactive Python, R, and Julia environments
- **Sage Worksheets**: Powerful mathematical computations
- **LaTeX Editor**: Collaborative document creation with real-time preview
- **Linux Terminal**: Full command-line access
- **Computational Whiteboard**: Visual collaboration and code execution
- **Course Management**: Tools for teaching and managing classes
- **Real-time Collaboration**: Work together seamlessly on projects
- **Version Control**: Built-in time travel and project history

## Website

- [CoCalc](https://cocalc.com/index.html) -- commercial CoCalc hosting and support
- [CoCalc user manual](https://doc.cocalc.com/) -- learn how to use CoCalc
- [Code GitHub repository](https://github.com/sagemathinc/cocalc) -- source code of CoCalc
- [CoCalc-Docker](https://github.com/sagemathinc/cocalc-docker) -- run CoCalc on your own computer (using Docker)
- [CoCalc mailing list](https://groups.google.com/forum/#!forum/cocalc) -- discuss CoCalc via email
- [CoCalc Discord server](https://discord.gg/nEHs2GK) -- chat about CoCalc

## Install CoCalc on your server or computer

You can obtain a packaged version of CoCalc for your own on-premises infrastructure: [**CoCalc Cloud**](https://doc-cloud.cocalc.com/).
It runs on Kubernetes and inherits the security and scalability of the SaaS platform.

### CoCalc Cloud

CoCalc Cloud runs on Kubernetes and inherits the security and scalability of the SaaS platform. To get started:

1. Visit https://cocalc.com/pricing/onprem for pricing information
2. Contact sales@sagemath.com to discuss deployment options
3. Prepare your Kubernetes cluster
4. Follow the deployment guide at https://doc-cloud.cocalc.com/
5. Configure your instance and start using your self-hosted CoCalc

### CoCalc-Docker (for smaller deployments or personal use)

1. Ensure Docker is installed on your system
2. Visit the CoCalc-Docker repository: https://github.com/sagemathinc/cocalc-docker
3. Follow the installation and usage instructions provided in the repository's README

For more detailed information on self-hosting options, please contact help@sagemath.com.

## History

_CoCalc_ was formerly called _SageMathCloud_.
It started to offer way more than just SageMath and hence outgrew itself.
The name was coined in fall 2016 and changed around spring 2017.

## Contributors

CoCalc is made possible by the hard work of many contributors. Our team includes mathematicians, computer scientists, and software engineers from around the world. Key contributors include:

- Greg Bard
- Rob Beezer
- Blaec Bejarano
- Keith Clawson
- Tim Clemans
- Andy Huchala
- John Jeng
- Jon Lee
- Simon Luu
- Andrey Novoseltsev
- Nicholas Ruhland
- Harald Schilly
- Travis Scholl
- Hal Snyder
- William Stein
- Jonathan Thompson
- Todd Zimmerman

... and others: See https://github.com/sagemathinc/cocalc/graphs/contributors

We welcome new contributions! If you're interested in contributing, please see our Contributing Guidelines (link to be added).

## Copyright/License

The copyright of CoCalc is owned by SageMath, Inc., and the source code
here is released under the **MICROSOFT REFERENCE SOURCE LICENSE (MS-RSL)**.

See the included file [LICENSE.md](./LICENSE.md) for more details.

None of the frontend or server dependencies of CoCalc are themselves GPL licensed;
they all have non-viral liberal licenses.

To clarify the above in relation to the "reference use":

- you can download the CoCalc source code at your organization
- you are allowed to read the source code and to inspect it
- you are allowed to enhance the interoperability of your product with CoCalc
- you are **not** allowed to compile and run the code

**If want to host your own CoCalc at your organization, please contact [help@sagemath.com](mailto:help@sagemath.com).**
In particular, [CoCalc OnPrem](https://cocalc.com/pricing/onprem) is designed for setting up an instance of CoCalc on-premises.

## Trademark

"CoCalc" is a [registered trademark](http://tsdr.uspto.gov/#caseNumber=87155974&caseType=SERIAL_NO&searchType=statusSearch) of SageMath, Inc.

## Development

The scripts [here](https://github.com/sagemathinc/cocalc/tree/master/src/dev) might be helpful. &nbsp;We do most of our development of CoCalc on https://cocalc.com itself. CoCalc uses pnpm version at least 10.

## Support and Community

- **User Manual**: https://doc.cocalc.com/
- **Mailing List**: https://groups.google.com/forum/#!forum/cocalc
- **Discord Chat**: https://discord.gg/nEHs2GK
- **Bug Reports**: https://github.com/sagemathinc/cocalc/issues
- **Commercial Support**: https://cocalc.com/pricing

## Acknowledgements

### Browserstack

We are grateful to BrowserStack for providing infrastructure to test CoCalc.
<a href="https://www.browserstack.com" target="_blank"><img alt='' src='http://i.imgur.com/VProOTR.png' width=128 height=undefined title=''/></a>

### Google

We thank Google for donating over \$150K in cloud credits since 2014 to support this project.

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