# Contributing

## Components

Pull requests generally edit one of the following components at a time.

### [Compiler](https://github.com/quiltdata/quilt/tree/38ebf1261a117ba68a2c9e643216cee9923658db/compiler/README.md)

* Serializes tabular data to Apache Parquet
* Transforms and parses files
* `build`s packages locally
* `push`es packages to the registry
* `pull`s packages from the registry

Technologies:

* Python
* pandas
* PyArrow

### [Registry](https://github.com/quiltdata/quilt/tree/38ebf1261a117ba68a2c9e643216cee9923658db/registry/README.md)

* Manages permissions
* Stores package fragments in blob storage
* Stores package meta-data
* De-duplicates repeated data fragments

Technologies:

* Python
* Flask
* SQLAlchemy
* Postgres

### [Catalog](https://github.com/quiltdata/quilt/tree/38ebf1261a117ba68a2c9e643216cee9923658db/catalog/README.md)

* Displays package meta-data in HTML

Technologies:

* JavaScript (ES6+)
* node
* React
* Redux
* Sagas

![](https://raw.githubusercontent.com/quiltdata/resources/master/img/arch.png)

### TODO

* [ ] Add more detailed diagrams

## [Slack](https://slack.quiltdata.com/)

## [Open Issues](https://github.com/quiltdata/quilt/issues)

## License

Quilt is open source under the [Apache License, Version 2.0.](https://github.com/quiltdata/quilt/tree/38ebf1261a117ba68a2c9e643216cee9923658db/LICENSE/README.md).

## Code of Conduct

Contributors must adhere to the [Code of Conduct](https://github.com/quiltdata/quilt/tree/38ebf1261a117ba68a2c9e643216cee9923658db/docs/docs/CODE_OF_CONDUCT.md).
