Sobre Siderust
Construint el futur de Rust, un crate a la vegada.
La nostra missió
Siderust aspira a ser la biblioteca de referència d'efemèrides i anàlisi orbital per a programari de vol empotrat i pipelines de recerca. Cada algorisme inclou tests de validació contra dades autoritatives (JPL Horizons, IMCCE, SOFA). Sense blocs unsafe, sense al·locacions ocultes.
A qui servim
- • Enginyers espacials que construeixen sistemes de navegació i guiatge autònoms
- • Operadors d'observatoris que planifiquen observacions i segueixen objectius celestes
- • Investigadors que necessiten computacions astronòmiques reproduïbles i validades
- • Desenvolupadors de sistemes empotrats que necessiten biblioteques deterministes i sense al·locació
Els nostres valors
Correcció primer: cada algorisme validat contra JPL Horizons, IMCCE i SOFA
Zero codi unsafe i zero al·locacions ocultes; adequat per a sistemes bare-metal i temps real
Garanties a nivell de tipus: marcs de referència i unitats codificats al sistema de tipus
Ciència reproduïble: compilacions deterministes i benchmarks exhaustius
La documentació com a ciutadà de primera classe
Què construïm
Les nostres biblioteques proporcionen computació astronòmica crítica amb un enfocament intransigent en:
- Validació: Cada algorisme provat contra les efemèrides autoritatives de JPL Horizons, IMCCE i SOFA amb mètriques de precisió publicades
- Garanties de seguretat: Zero blocs unsafe, zero al·locacions ocultes. Adequat per a sistemes empotrats bare-metal i programari de vol en temps real
- Correcció a nivell de tipus: Marcs de referència (ICRS, Eclíptic, Topocèntric), centres de coordenades (Helio, Geo, Bari) i unitats físiques codificats en tipus; els estats impossibles no compilen
- Reproduïbilitat: Compilacions deterministes, versions d'algorismes fixades, benchmarks exhaustius i cap comportament depenent de la plataforma
- Rendiment: Auto-vectorització SIMD, abstraccions de cost zero i kernels numèrics optimitzats (VSOP87, ELP2000) mesurats a <200ns per avaluació
Com contribuir
Donem la benvinguda a les contribucions de tothom! Tant si estàs arreglant un error, afegint una funcionalitat o millorant la documentació, la teva ajuda és apreciada.
Primers passos
- 1
Troba un issue o crea'n un
Navega per la nostra organització de GitHub cercant issues etiquetats com a "good first issue" o "help wanted".
- 2
Fes un fork i clona el repositori
Crea el teu propi fork i configura l'entorn de desenvolupament localment.
- 3
Crea una branca de funcionalitat
Treballa en els teus canvis en una branca dedicada des de main.
- 4
Fes els teus canvis
Escriu codi net, afegeix tests i actualitza la documentació segons calgui.
- 5
Envia un pull request
Obre un PR amb una descripció clara. Revisarem i donarem feedback ràpidament.
Configuració de desenvolupament
# Clone the repository
git clone https://github.com/Siderust/<project-name>
cd <project-name>
# Build the project
cargo build
# Run tests
cargo test
# Run clippy for linting
cargo clippy
# Format code
cargo fmt Directrius de codi
- Segueix l'estil de codi i el format existents
- Escriu tests per a la nova funcionalitat
- Afegeix comentaris de documentació per a les API públiques
- Mantén els PR enfocats i atòmics
- Evita el codi unsafe tret que sigui absolutament necessari
Preparat per contribuir?
Consulta els nostres issues oberts i comença a tenir impacte avui.
Navega els repositorisConnecta amb nosaltres
Tens preguntes o vols implicar-te? Contacta'ns a través de la nostra organització de GitHub.