Skip to main content
Ctrl+K
scanpy - Home scanpy - Home
  • Installation
  • Tutorials
    • Basics
      • Preprocessing and clustering
      • Preprocessing and clustering 3k PBMCs (legacy workflow)
      • Integrating data using ingest and BBKNN
    • Plotting
      • Core plotting functions
      • Customizing Scanpy plots
    • Trajectories
      • Trajectory inference for hematopoiesis in mouse
    • Spatial
      • Analysis and visualization of spatial transcriptomics data
      • Integrating spatial data with scRNA-seq using scanorama
    • Experimental
      • How to preprocess UMI count data with analytic Pearson residuals
      • Using dask with Scanpy
  • Usage Principles
  • How to
    • Using other kNN libraries in Scanpy
    • Plotting with Marsilea
  • API
    • Preprocessing: pp
      • scanpy.pp.calculate_qc_metrics
      • scanpy.pp.filter_cells
      • scanpy.pp.filter_genes
      • scanpy.pp.highly_variable_genes
      • scanpy.pp.log1p
      • scanpy.pp.pca
      • scanpy.pp.normalize_total
      • scanpy.pp.regress_out
      • scanpy.pp.scale
      • scanpy.pp.subsample
      • scanpy.pp.downsample_counts
      • scanpy.pp.recipe_zheng17
      • scanpy.pp.recipe_weinreb17
      • scanpy.pp.recipe_seurat
      • scanpy.pp.combat
      • scanpy.pp.scrublet
      • scanpy.pp.scrublet_simulate_doublets
      • scanpy.pp.neighbors
    • Tools: tl
      • scanpy.pp.pca
      • scanpy.tl.tsne
      • scanpy.tl.umap
      • scanpy.tl.draw_graph
      • scanpy.tl.diffmap
      • scanpy.tl.embedding_density
      • scanpy.tl.leiden
      • scanpy.tl.louvain
      • scanpy.tl.dendrogram
      • scanpy.tl.dpt
      • scanpy.tl.paga
      • scanpy.tl.ingest
      • scanpy.tl.rank_genes_groups
      • scanpy.tl.filter_rank_genes_groups
      • scanpy.tl.marker_gene_overlap
      • scanpy.tl.score_genes
      • scanpy.tl.score_genes_cell_cycle
      • scanpy.tl.sim
    • Plotting: pl
      • scanpy.pl.scatter
      • scanpy.pl.heatmap
      • scanpy.pl.dotplot
      • scanpy.pl.tracksplot
      • scanpy.pl.violin
      • scanpy.pl.stacked_violin
      • scanpy.pl.matrixplot
      • scanpy.pl.clustermap
      • scanpy.pl.ranking
      • scanpy.pl.dendrogram
      • scanpy.pl.DotPlot
        • scanpy.pl.DotPlot.DEFAULT_CATEGORY_HEIGHT
        • scanpy.pl.DotPlot.DEFAULT_CATEGORY_WIDTH
        • scanpy.pl.DotPlot.DEFAULT_COLORMAP
        • scanpy.pl.DotPlot.DEFAULT_COLOR_LEGEND_TITLE
        • scanpy.pl.DotPlot.DEFAULT_COLOR_ON
        • scanpy.pl.DotPlot.DEFAULT_DOT_EDGECOLOR
        • scanpy.pl.DotPlot.DEFAULT_DOT_EDGELW
        • scanpy.pl.DotPlot.DEFAULT_DOT_MAX
        • scanpy.pl.DotPlot.DEFAULT_DOT_MIN
        • scanpy.pl.DotPlot.DEFAULT_LARGEST_DOT
        • scanpy.pl.DotPlot.DEFAULT_LEGENDS_WIDTH
        • scanpy.pl.DotPlot.DEFAULT_PLOT_X_PADDING
        • scanpy.pl.DotPlot.DEFAULT_PLOT_Y_PADDING
        • scanpy.pl.DotPlot.DEFAULT_SAVE_PREFIX
        • scanpy.pl.DotPlot.DEFAULT_SIZE_EXPONENT
        • scanpy.pl.DotPlot.DEFAULT_SIZE_LEGEND_TITLE
        • scanpy.pl.DotPlot.DEFAULT_SMALLEST_DOT
        • scanpy.pl.DotPlot.DEFAULT_WSPACE
        • scanpy.pl.DotPlot.MAX_NUM_CATEGORIES
        • scanpy.pl.DotPlot.MIN_FIGURE_HEIGHT
        • scanpy.pl.DotPlot.add_dendrogram
        • scanpy.pl.DotPlot.add_totals
        • scanpy.pl.DotPlot.get_axes
        • scanpy.pl.DotPlot.getdoc
        • scanpy.pl.DotPlot.legend
        • scanpy.pl.DotPlot.make_figure
        • scanpy.pl.DotPlot.savefig
        • scanpy.pl.DotPlot.show
        • scanpy.pl.DotPlot.style
        • scanpy.pl.DotPlot.swap_axes
      • scanpy.pl.MatrixPlot
        • scanpy.pl.MatrixPlot.DEFAULT_CATEGORY_HEIGHT
        • scanpy.pl.MatrixPlot.DEFAULT_CATEGORY_WIDTH
        • scanpy.pl.MatrixPlot.DEFAULT_COLORMAP
        • scanpy.pl.MatrixPlot.DEFAULT_COLOR_LEGEND_TITLE
        • scanpy.pl.MatrixPlot.DEFAULT_EDGE_COLOR
        • scanpy.pl.MatrixPlot.DEFAULT_EDGE_LW
        • scanpy.pl.MatrixPlot.DEFAULT_LEGENDS_WIDTH
        • scanpy.pl.MatrixPlot.DEFAULT_SAVE_PREFIX
        • scanpy.pl.MatrixPlot.DEFAULT_WSPACE
        • scanpy.pl.MatrixPlot.MAX_NUM_CATEGORIES
        • scanpy.pl.MatrixPlot.MIN_FIGURE_HEIGHT
        • scanpy.pl.MatrixPlot.add_dendrogram
        • scanpy.pl.MatrixPlot.add_totals
        • scanpy.pl.MatrixPlot.get_axes
        • scanpy.pl.MatrixPlot.getdoc
        • scanpy.pl.MatrixPlot.legend
        • scanpy.pl.MatrixPlot.make_figure
        • scanpy.pl.MatrixPlot.savefig
        • scanpy.pl.MatrixPlot.show
        • scanpy.pl.MatrixPlot.style
        • scanpy.pl.MatrixPlot.swap_axes
      • scanpy.pl.StackedViolin
        • scanpy.pl.StackedViolin.DEFAULT_CATEGORY_HEIGHT
        • scanpy.pl.StackedViolin.DEFAULT_CATEGORY_WIDTH
        • scanpy.pl.StackedViolin.DEFAULT_COLORMAP
        • scanpy.pl.StackedViolin.DEFAULT_COLOR_LEGEND_TITLE
        • scanpy.pl.StackedViolin.DEFAULT_CUT
        • scanpy.pl.StackedViolin.DEFAULT_DENSITY_NORM
        • scanpy.pl.StackedViolin.DEFAULT_INNER
        • scanpy.pl.StackedViolin.DEFAULT_JITTER
        • scanpy.pl.StackedViolin.DEFAULT_JITTER_SIZE
        • scanpy.pl.StackedViolin.DEFAULT_LEGENDS_WIDTH
        • scanpy.pl.StackedViolin.DEFAULT_LINE_WIDTH
        • scanpy.pl.StackedViolin.DEFAULT_PLOT_X_PADDING
        • scanpy.pl.StackedViolin.DEFAULT_PLOT_YTICKLABELS
        • scanpy.pl.StackedViolin.DEFAULT_PLOT_Y_PADDING
        • scanpy.pl.StackedViolin.DEFAULT_ROW_PALETTE
        • scanpy.pl.StackedViolin.DEFAULT_SAVE_PREFIX
        • scanpy.pl.StackedViolin.DEFAULT_STRIPPLOT
        • scanpy.pl.StackedViolin.DEFAULT_WSPACE
        • scanpy.pl.StackedViolin.DEFAULT_YLIM
        • scanpy.pl.StackedViolin.MAX_NUM_CATEGORIES
        • scanpy.pl.StackedViolin.MIN_FIGURE_HEIGHT
        • scanpy.pl.StackedViolin.add_dendrogram
        • scanpy.pl.StackedViolin.add_totals
        • scanpy.pl.StackedViolin.get_axes
        • scanpy.pl.StackedViolin.getdoc
        • scanpy.pl.StackedViolin.legend
        • scanpy.pl.StackedViolin.make_figure
        • scanpy.pl.StackedViolin.savefig
        • scanpy.pl.StackedViolin.show
        • scanpy.pl.StackedViolin.style
        • scanpy.pl.StackedViolin.swap_axes
      • scanpy.pl.highest_expr_genes
      • scanpy.pl.filter_genes_dispersion
      • scanpy.pl.highly_variable_genes
      • scanpy.pl.scrublet_score_distribution
      • scanpy.pl.pca
      • scanpy.pl.pca_loadings
      • scanpy.pl.pca_variance_ratio
      • scanpy.pl.pca_overview
      • scanpy.pl.tsne
      • scanpy.pl.umap
      • scanpy.pl.diffmap
      • scanpy.pl.draw_graph
      • scanpy.pl.spatial
      • scanpy.pl.embedding
      • scanpy.pl.embedding_density
      • scanpy.pl.dpt_groups_pseudotime
      • scanpy.pl.dpt_timeseries
      • scanpy.pl.paga
      • scanpy.pl.paga_path
      • scanpy.pl.paga_compare
      • scanpy.pl.rank_genes_groups
      • scanpy.pl.rank_genes_groups_violin
      • scanpy.pl.rank_genes_groups_stacked_violin
      • scanpy.pl.rank_genes_groups_heatmap
      • scanpy.pl.rank_genes_groups_dotplot
      • scanpy.pl.rank_genes_groups_matrixplot
      • scanpy.pl.rank_genes_groups_tracksplot
      • scanpy.pl.sim
    • Reading
      • scanpy.read
      • scanpy.read_10x_h5
      • scanpy.read_10x_mtx
      • scanpy.read_visium
      • scanpy.read_h5ad
      • scanpy.read_csv
      • scanpy.read_excel
      • scanpy.read_hdf
      • scanpy.read_loom
      • scanpy.read_mtx
      • scanpy.read_text
      • scanpy.read_umi_tools
    • Get object from AnnData: get
      • scanpy.get.obs_df
      • scanpy.get.var_df
      • scanpy.get.rank_genes_groups_df
      • scanpy.get.aggregate
    • Queries
      • scanpy.queries.biomart_annotations
      • scanpy.queries.gene_coordinates
      • scanpy.queries.mitochondrial_genes
      • scanpy.queries.enrich
    • Metrics
      • scanpy.metrics.confusion_matrix
      • scanpy.metrics.gearys_c
      • scanpy.metrics.morans_i
    • Experimental
      • scanpy.experimental.pp.normalize_pearson_residuals
      • scanpy.experimental.pp.normalize_pearson_residuals_pca
      • scanpy.experimental.pp.highly_variable_genes
      • scanpy.experimental.pp.recipe_pearson_residuals
    • Classes
      • scanpy.Neighbors
        • scanpy.Neighbors.connectivities
        • scanpy.Neighbors.distances
        • scanpy.Neighbors.distances_dpt
        • scanpy.Neighbors.eigen_basis
        • scanpy.Neighbors.eigen_values
        • scanpy.Neighbors.rp_forest
        • scanpy.Neighbors.transitions
        • scanpy.Neighbors.transitions_sym
        • scanpy.Neighbors.compute_eigen
        • scanpy.Neighbors.compute_neighbors
        • scanpy.Neighbors.compute_transitions
        • scanpy.Neighbors.getdoc
        • scanpy.Neighbors.to_igraph
    • Settings
      • scanpy.set_figure_params
      • scanpy._settings.ScanpyConfig
        • scanpy._settings.ScanpyConfig.autosave
        • scanpy._settings.ScanpyConfig.autoshow
        • scanpy._settings.ScanpyConfig.cache_compression
        • scanpy._settings.ScanpyConfig.cachedir
        • scanpy._settings.ScanpyConfig.categories_to_ignore
        • scanpy._settings.ScanpyConfig.datasetdir
        • scanpy._settings.ScanpyConfig.figdir
        • scanpy._settings.ScanpyConfig.file_format_data
        • scanpy._settings.ScanpyConfig.file_format_figs
        • scanpy._settings.ScanpyConfig.logfile
        • scanpy._settings.ScanpyConfig.logpath
        • scanpy._settings.ScanpyConfig.max_memory
        • scanpy._settings.ScanpyConfig.n_jobs
        • scanpy._settings.ScanpyConfig.plot_suffix
        • scanpy._settings.ScanpyConfig.verbosity
        • scanpy._settings.ScanpyConfig.writedir
        • scanpy._settings.ScanpyConfig.N_PCS
        • scanpy._settings.ScanpyConfig.set_figure_params
      • scanpy.logging.print_header
      • scanpy.logging.print_versions
    • Datasets
      • scanpy.datasets.blobs
      • scanpy.datasets.ebi_expression_atlas
      • scanpy.datasets.krumsiek11
      • scanpy.datasets.moignard15
      • scanpy.datasets.pbmc3k
      • scanpy.datasets.pbmc3k_processed
      • scanpy.datasets.pbmc68k_reduced
      • scanpy.datasets.paul15
      • scanpy.datasets.toggleswitch
      • scanpy.datasets.visium_sge
    • Deprecated functions
      • scanpy.pp.filter_genes_dispersion
      • scanpy.pp.normalize_per_cell
  • External API
    • Preprocessing: PP
      • scanpy.external.pp.bbknn
      • scanpy.external.pp.harmony_integrate
      • scanpy.external.pp.mnn_correct
      • scanpy.external.pp.scanorama_integrate
      • scanpy.external.pp.hashsolo
      • scanpy.external.pp.dca
      • scanpy.external.pp.magic
    • Tools: TL
      • scanpy.external.tl.phate
      • scanpy.external.tl.palantir
      • scanpy.external.tl.trimap
      • scanpy.external.tl.sam
      • scanpy.external.tl.phenograph
      • scanpy.external.tl.harmony_timeseries
      • scanpy.external.tl.wishbone
      • scanpy.external.tl.palantir
      • scanpy.external.tl.palantir_results
      • scanpy.external.tl.sandbag
      • scanpy.external.tl.cyclone
    • Plotting: PL
      • scanpy.external.pl.phate
      • scanpy.external.pl.trimap
      • scanpy.external.pl.sam
      • scanpy.external.pl.wishbone_marker_trajectory
    • Exporting
      • scanpy.external.exporting.spring_project
      • scanpy.external.exporting.cellbrowser
  • Ecosystem
  • Release notes
  • Community
  • News
  • Contributing
    • Contributing code
    • Getting set up
    • Tests
    • Documentation
    • CI
    • Versioning
    • Making a release
  • Contributors
  • References
  • .md

Contributing

Contributing#

Contributions to scanpy are welcome! This section of the docs provides some guidelines and tips to follow when contributing.

  • Contributing code
    • Development workflow
    • Code style
  • Getting set up
    • Working with git
      • Forking and cloning
      • pre-commit
      • Creating a branch for your feature
      • Open a pull request
    • Development environments
  • Tests
    • Running the tests
      • Miscellaneous tips
    • Writing tests
      • What to test
      • Performance
      • Plotting tests
  • Documentation
    • Building the docs
    • Adding to the docs
    • docstrings format
      • Plots in docstrings
      • Params section
      • Returns section
        • Examples
  • CI
    • Plotting tests
      • Viewing plots from failed tests on Azure pipelines
      • Misc
  • Versioning
    • Semantic versioning
      • Version numbers
    • Tooling
      • Technical details
  • Making a release
    • Preparing the release
    • Actually making the release
    • After making a release
    • Debugging the build process

Parts of the guidelines have been adapted from the pandas and MDAnalysis guides. These are both excellent guides and we highly recommend checking them out.

previous

News

next

Contributing code

By Scanpy development team

© Copyright 2024, the Scanpy development team.