Back to Superset

Overview

docs/developer_docs/index.md

2021.41.05.1 KB
Original Source
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->

Developer Docs

Welcome to the Apache Superset Developer Docs - your comprehensive resource for contributing to and extending Apache Superset.

Quick Start

New Contributors

Extension Development

Documentation Sections

Extensions

Learn how to build powerful extensions that enhance Superset's capabilities. This section covers the extension architecture, development patterns, and deployment strategies. You'll find comprehensive guides on creating frontend contributions, managing extension lifecycles, and understanding security implications.

Testing

Comprehensive testing strategies for Superset development. This section covers frontend testing with Jest and React Testing Library, backend testing with pytest, end-to-end testing with Playwright, and CI/CD pipeline best practices.

Contributing to Superset

Everything you need to contribute to the Apache Superset project. This section includes community guidelines, development environment setup, pull request processes, code review workflows, issue reporting guidelines, and Apache release procedures. You'll also find style guidelines for both frontend and backend development.

Development Resources

Prerequisites

  • Python: 3.9, 3.10, or 3.11
  • Node.js: 18.x or 20.x
  • npm: 9.x or 10.x
  • Git: Basic understanding
  • React/TypeScript: For frontend development
  • Flask/SQLAlchemy: For backend development

Key Technologies

  • Frontend: React, TypeScript, Ant Design, Redux
  • Backend: Flask, SQLAlchemy, Celery, Redis
  • Build Tools: Webpack, Babel, npm/yarn
  • Testing: Jest, Pytest, Playwright
  • CI/CD: GitHub Actions, pre-commit

Community

Get Help

Contribute

Additional Resources

External Documentation

Important Files

Where to Start?

<table> <tr> <td width="50%">

I want to contribute code

  1. Set up development environment
  2. Find a good first issue
  3. Submit your first PR
</td> <td width="50%">

I want to build an extension

  1. Start with Quick Start
  2. Learn extension development
  3. Explore architecture
</td> </tr> <tr> <td>

I found a bug

  1. Search existing issues
  2. Report the bug
  3. Submit a fix
</td> <td>

I need help

  1. Check the FAQ
  2. Ask in Slack
  3. Start a discussion
</td> </tr> </table>

Welcome to the Apache Superset community! We're excited to have you contribute.