# Submitting

## Submit with Notebook

Submitting a notebook solution is very simple.&#x20;

Download your notebook under the .ipynb format and upload it under the [submit section](https://adialab.crunchdao.com/submit?tab=notebook) of the CrunchDAO platform.

#### Specifying package versions

Since submitting a Notebook does not includes a `requirements.txt`, users can instead specify a package's version using [requirement specifiers](https://pip.pypa.io/en/stable/reference/requirement-specifiers/#examples) at the import level in a comment on the same line.

```python
# valid statement
import pandas # == 1.3
import sklearn # >= 1.2, < 2.0
import tqdm # [foo, bar]
import scikit # ~= 1.4.2
from requests import Session # == 1.5
```

Specifying multiple times will cause the submission to be rejected if they are different.

```python
# inconsistant versions will be rejected
import pandas # == 1.3
import pandas # == 1.5
```

Specifying versions on standard libraries will do nothing (but they will still be rejected if there is an inconsistent version).

```python
# will be ignored
import os # == 1.3
import sys # == 1.5
```

## Submit with Crunch CLI

```
Usage: crunch push [OPTIONS]

  Send the new submission of your code.

Options:
  -m, --message TEXT      Specify the change of your code. (like a commit
                          message)

  -e, --main-file TEXT    Entrypoint of your code.  [default: main.py]
  --model-directory TEXT  Directory where your model is stored.  [default:
                          resources]

  --help                  Show this message and exit.
```

## Check your submission

If the submission is complete you will see it appears under your [submission section](https://adialab.crunchdao.com/project).

<figure><img src="https://4037915796-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfKvHQp0gfJ0KWp7aVZQP%2Fuploads%2FvyNUbHOSJBrAk9vy6KvE%2Fimage.png?alt=media&#x26;token=84cfd508-4dff-4dc3-8d1c-2921b9ee3369" alt=""><figcaption><p>Some interesting submissions ;)</p></figcaption></figure>

The backend is parsing your submission to retrieve the code of the interface's functions (ie: `train`, and `infer`) and the dependencies of your code. By clicking on the right-side arrow you will access your submission content.

<figure><img src="https://4037915796-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfKvHQp0gfJ0KWp7aVZQP%2Fuploads%2FwyQJSVZnkonqjxzebiv7%2Fimage.png?alt=media&#x26;token=13d39cf5-babe-466e-beaf-cecc5ec33f64" alt=""><figcaption><p>The view of a submission once properly uploaded</p></figcaption></figure>

{% hint style="info" %}
Make sure that the system properly parsed your code and imports
{% endhint %}
