../_images/pisces.svg

Pisces User Guide#

Welcome to the Pisces User Guide! This page is the location of all technical documentation for the pisces library and is generally the first place to look when seeking information on how to use the library. In addition to the resources on this page, the API reference (API) gives in-depth information about call signatures and code structure. The developer guide (Pisces Developer Guide) is a resource for those who want to contribute to the library or understand the codebase in detail.

Topics in this guide are broken down by subject area, with each section providing a comprehensive overview of the relevant components and their usage.

Getting Started#

To get started with Pisces, check out the Quickstart Guide guide which walks through installation, basic usage, and a simple example. This is a great place to begin if you’re new to Pisces or scientific Python in general. You can also explore the Pisces Example Gallery section for more in-depth tutorials and use cases.

Pisces Models#

The primary focus of Pisces is on providing a suite of analytic and semi-analytic models for astrophysical systems. This ranges from models of galaxies and galaxy clusters to more complex systems like cosmological perturbation fields. All of these models are housed in the models module and share a consistent structure for ease of use. This is the most heavily used part of the library, and it is where most users will spend their time. To familiarize yourself with the basics of Pisces models, check out the following documents:

For many users, the best way to get started with Pisces is to explore the various models available and see how they can be applied to your specific use case. The sections below provide an overview of the different model types, building blocks, and configuration options available in Pisces.

In many cases, users will want to be able to customize the models they’re working with or create new ones with specific properties. Interested users should visit the Pisces Developer Guide for more information on how to extend Pisces with custom models and functionality.

Building Blocks#

In addition to the actual models, Pisces provides a number of “building blocks” which are used to construct models. These are often generated by the user as inputs to the models, and they can also be used independently of the models themselves. These building blocks include profiles, scaling relations, random fields, etc.

Extensions and 3rd Party Libraries#

Pisces is designed to interoperate with the broader scientific Python ecosystem. Several extensions and optional integrations are supported, allowing users to plug Pisces into custom pipelines or expand its functionality with minimal effort.

Particle Datasets

Pisces includes support for generating and manipulating particle datasets, which are commonly used in N-body simulations and other applications. These datasets can be created from Pisces models and exported to a variety of formats.

Hydrodynamics Simulations

Pisces includes utilities for integrating with hydrodynamic simulation codes and frameworks. These tools facilitate the use of Pisces models as initial conditions or analytic backgrounds for simulations.

Configuration and Setup#

Pisces includes a flexible configuration system that allows users to customize model behavior, logging, file locations, numerical precision, and more. This system is driven by a YAML-based configuration file that is automatically loaded at runtime.