semvec/pypi-packages huggingface dataset:
nbtui 0.0.3
View jupyter notebooks (with images) from the command line
Requires Python: >=3.6

# NBTui

![demo](../assets/demo.gif?raw=true)

An interactive viewer for Jupyter notebooks from the command line.

It should work for any terminal, but you will only be able to view
plots when using Kitty, or any terminal that implements the Kitty
graphics protocol.

This is a work in progress, and things may break. Bug reports and general
constructive criticism about implementation details are welcome.

## Install

```python
pip install nbtui

nbtui {NOTEBOOK}.ipynb
```

Or, you can directly pull this folder from master (this is recommended, since there are most likely still going to be some issues):

```
python -m nbtui {NOTEBOOK}.ipynb
```

## Features

- Vim-style keybindings for scrolling and movement
- Regex searching
- View images and plots
- Automatic file-change detection and refresh (somewhat experimental)

## Usage

Movement and scrolling is based on vim keybindings - j to scroll down,
k to scroll up, C-D to scroll down by 15 lines, C-U to scroll up
by 15 lines.
Press g and G to go to the beginning and end of the notebook,
respectively, press / to start searching, and press q to close.

NOTE: currently, displaying images is done in a quite inefficient way.
I plan to update this logic soon to take advantage
of new features from the Kitty graphics protocol, once Kitty version 0.19.3
has been out for a little while longer.

In the meantime, prefer using C-D and C-U to scrolling when many images
are on the screen, to avoid large slowdowns.

## Planned features

For obvious reasons, rich output formats like HTML, PDF, Javascript, videos,
audio, and hyperlinks are not planned to be implemented.

- Support other display data formats
    - Plot backends besides just png
    - Latex in markdown cells
    - Linking of images (JPEG, SVG)
    - Progress bars
- Better handling of multiple outputs for a single cell. We should show
these things in a single large output cell instead of breaking it up.
- Better configurability. Users should be able to configure things like themes
for syntax highlighting, padding, etc.
- Fix slow scrolling with images by utilizing Kitty placement ids
- Folding
craftr-core 0.2.2
The core framework for the Craftr build system.
Requires Python: >=3.8.0,<4.0.0

# craftr-core

The `craftr-core` package provides the core build system functions for the Craftr build system.

## Concepts

### Projects

A project is the main unit that is used to represent a collection of tasks. A project has a collection
of tasks and possibly other sub-projects. Every project has a name and unique ID (aka. path) inside the
current build context.

### Tasks

Tasks encapsulate the configuration and logic of an operation in a build. Examples include the compilation
or generation of source files, copying or compressing files. Such operations are usually described using a
sequence of Actions, see below. Dependencies between individual tasks describe a directed acyclic graph used
for determining the order in which tasks need to be executed.

A task has a set of input and output files. If an input files changes or an output file does not exist, a
task is considered outdated and will be executed again. There are also tasks that are not executed by
default unless depended on by another tasks that is executed or explicitly specified as to be executed in
a given execution of the build graph.

### Actions

An action is a concrete unit of work that can be executed as part of a build. A task is usually described
by one or more actions. Dependencies between actions express the order in which they are to be executed
relative to the other actions produced by the same task.

### Plugins

Plugins are reusable pieces of build logic that can be applied to projects. A plugin usually registers
a new task or task factory in the project which is subsequently accessible via the `project.ext` object
or from the namespace object returned by `Project.apply()`.

### Settings

Craftr settings are files in a line-based `key=value` format. There are a bunch of settings that control
the behaviour of the Craftr core components. No settings file is loaded implicitly by the `Context` class.

| Option                         | Default value |
| ------------------------------ | ------------- |
| `core.build_directory`         | `.build`
| `core.executor`                | `craftr.core.executor.default.DefaultExecutor`
| `core.plugin.loader`           | `craftr.core.plugin.default.DefaultPluginLoader`
| `core.plugin.loader.delegates` | `craftr.core.project.loader.default.DefaultProjectLoader,craftr.build.loader.DslProjectLoader?`
| `core.plugin.entrypoint`       | `craftr.plugins`
| `core.project.loader`          | `craftr.core.project.loader.delegate.DelegateProjectLoader`
| `core.verbose`                 | `False`
| `core.task_selector`           | `craftr.core.task.selector.default.DefaultTaskSelector`

---

<p align="center">Copyright &copy; 2021 Niklas Rosenstein</p>