Skip to content

Releases

pyrucast v0.13.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 16:11

crates.io pyrucast 0.13.1 · PyPI pyrucast 0.13.1

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.13.1 — 12/11/2026

Corrections

  • tests — skip test_figures_are_up_to_date (2e43931)
  • tests — format test_figures_are_up_to_date (eaa2a84)

pyrucast v0.12.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 21:02

crates.io pyrucast 0.12.0 · PyPI pyrucast 0.12.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.12.0 — 09/11/2026

Ruptures d'API

  • mesh — all_quad devient prefer_quads, une préférence (330ae1a)
  • python — scalar accessors are properties; SubFiniteElementSpace.submesh(); mesh() one zone per subspace (0e547e9)
  • field support() one entry per zone; border and skin refuse a zone listed twice (1fe096b)
  • a field keeps its two coherence rules through every operation (ab66dfa)
  • NodeField::node_ids lists each node once in linear time (11d2b20)
  • fick — the direction index goes last in the oriented diffusivities (5f09178)
  • behavior — the rest state is explicit, prev is required (36ba940)

Nouveautés

  • doc — un garde-fou vérifie que chaque équation arrive intacte (08855d1)
  • mesh — structured meshers keep the quadratic degree; sweep closes rings (2c11e95)
  • viz — eight curve colours, told apart under colour-vision deficiencies (a2a45bf)

Corrections

  • book — 99 équations arrivaient abîmées à MathJax (2731f59)
  • py — Array a son troisième niveau d'affichage, dump() (2eaccab)
  • mesh — les paveurs en QUA9 gardent leurs triangles en TRI6 (e4cda09)
  • a node from another Coords is refused wherever it becomes an id (024b955)
  • one Coords per aggregate; fields gain support() and a scalar on the left (54cc329)
  • python — scalar ** field and -field on every field; SubNodeField.set_uniform (86313fb)
  • a node field refuses a POI1 support listing a node twice (423f43c)
  • matrix — a block refuses a support that repeats a node (9f57085)
  • matrix — an assembled matrix seals its blocks (d93a87d)
  • matrix — a lumped matrix carries diagonal blocks (c8079da)
  • solver — a cached factorization serves the method it was made with (380ade4)
  • model — has_behavior means a law, fespace a domain's subspace (c78dc5f)
  • truss — refuse any element but SEG2; the reduced rule is exact for affine functions (dcd6f68)
  • tutoriel — step 2 of the thermal script holds the bore at 250 °C again (0286b44)
  • viz — smooth field rendering subdivides a cell by its own degree (112a1b7)
  • viz — a field evolution's plot shows its title (b563cef)

Performances

  • field reductions count a shared node in one pass, read in place (fe707a2)
  • coords::displace writes in bulk, as displace_from does (01b97c1)
  • check compares every component of a node in one pass (01ff1bb)

Remaniements

  • coloring — keep only the node colouring that the drivers call (00e92fd)
  • matrix — drop dense and mul_dense, read a computed block nowhere (1bef024)
  • matrix — assemble is the one way to give a matrix its values (df24609)
  • matrix — a block operand of a Python sum cannot fail (2565df5)
  • mesh — no test nor allocation per node in the structured kernels (79f8321)

Documentation

  • book — l'introduction relue, ses premiers pas tracent une ligne (5e5ef34)
  • book — les premiers pas en Rust retrouvent leur ? (89879c8)
  • book — la correspondance Rust ↔ Python passe sous « Développer », relue (f73a86e)
  • book — l'installation distingue la version précompilée de la compilation (0ff627c)
  • book — les trois niveaux de listing passent dans le premier script (4bb27ba)
  • book — la formation devient le tutoriel (2df6cb6)
  • mesher — les tests ne citent plus maillage_test.py, disparu (0b53a97)
  • mesher — les mesures du maillage volumique, refaites sur maillage.py (c0a12d8)
  • book — installation — la compilation par pip est sans visu, le clone dans les commandes (9f0ce31)
  • book — l'aspect informatique, vu de Python (7e0a3bc)
  • book — « Mailler une géométrie » remesurée, après les opérateurs (fccfa5a)
  • book — le tableau des mailleurs 2D donne leurs types et options (26dd72d)
  • book — les objets au même niveau que leur vue d'ensemble (6d2015f)
  • book — un chapitre numéroté par partie, la vue d'ensemble en x.1 (f6a53df)
  • book — Coordonnées, décrite telle qu'elle est et vue de Python (a2495a7)
  • book — Nœud, vu de Python et décrit tel qu'il est (54c2713)
  • book — Agrégat, vu de Python et décrit tel qu'il est (7425a5e)
  • book — Maillage, vu de Python, caches et scellement compris (3097ca5)
  • element_type — the 3-D names are not Cast3M's (9fa98fb)
  • book — Champ aux points de Gauss, vu de Python et décrit tel qu'il est (33b4b00)
  • book — one title form for the object pages (e0a67e9)
  • book — Espace éléments finis, vu de Python et décrit tel qu'il est (34f7736)
  • REDUCED by its real uses, no history in docstrings, kernel without the store (b8729fa)
  • book — Champ, vu de Python et décrit tel qu'il est ([f8f3cc0](https:...
Read more

pyrucast v0.11.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 08:43

crates.io pyrucast 0.11.0 · PyPI pyrucast 0.11.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.11.0 — 28/10/2026

Ruptures d'API

  • element_field — mesures de déformation finies (1b77e48)
  • briques du pas-à-pas — natures des contraintes, opérateur élastique, tables, grandeurs par maille (52909bf)
  • stepping — pyrucast.stepping, le PASAPAS de Cast3M procédure par procédure (49d6b1b)

Nouveautés

  • element_field — strain, le B du modèle — l'entrée de chaque loi (2dbc451)
  • plasticity — prédicteur sécant — toute loi calcule σ(B) = C(B) : ε_e(B) (d7e0b8c)
  • large-transformations — la loi lit sa mesure, les forces internes lisent P = F S (049677a)
  • large-transformations — Hencky — la duale T ramenée à S dans la base propre de C (2d54c0f)
  • flux — le mode normal — une pression qui suit la paroi (310cef4)
  • stepping — les grands déplacements, lus sur la mesure des lois (5fbcf5a)
  • stepping — la conduction écrite sur la référence, ses axes tournant avec la pièce (3f0a9a2)
  • coords — in_config — calculer le temps d'un bloc dans une configuration (3bd14ca)
  • stepping — la thermique sur la pièce déformée, axes tournés par R (662aafb)
  • node_field — project — un champ nodal porté aux nœuds d'un autre maillage (3f4d6d9)
  • truss — les câbles — la barre en Green–Lagrange, en lagrangien total (c657c01)
  • solver — l'élimination garde les inégalités et les résout par l'ensemble actif (c2d1c13)
  • contact — update_contact réapparie un contact sur X + u (1651254)
  • stepping — le contact en grands déplacements (c0ab9de)
  • stepping — une maille retournée arrête le pas (c063988)

Corrections

  • examples — thermomecanique_pas_a_pas.py, le nom que tout le reste cite (5334734)
  • tests — les tests effacent ce qu'ils écrivent sous /tmp (bb853a3)
  • doc_lint — un nom atteint par un autre module ne cite pas pyrucast (60c43a0)
  • matrix — la tangente d'une physique linéaire est sa raideur, pas zéro (fb166f6)
  • formation — la plaque trouée plastifie enfin (8953ba9)
  • continuum — la rigidité et la masse lisent le matériau en chaque point de Gauss (fb1648f)
  • transport — conduction et Fick lisent leur matériau en chaque point de Gauss (4e25e1e)
  • py — stress_measure redevient une fonction libre seulement (0783b79)
  • stepping — la configuration courante est retrouvée, plus ajoutée à chaque calcul (d3fe746)
  • matrix — une somme additionne les valeurs assemblées ; freeze retirée (48d7048)
  • models — retirer les serde(default) qui promettaient une compatibilité (a3937a7)
  • archive — retirer les derniers serde(default), sans effet sous bincode (72651b4)
  • solver — la variante Unilateral de Reduced en boîte (clippy large_enum_variant) (81bf644)

Remaniements

  • model — conduction, Fick et élasticité générées par physics_operator! (9f7213b)
  • model — les contraintes prennent leur sens et leur tolérance par défaut (91ab80c)
  • model — un seul constructeur pour la conduction, Fick et l'élasticité (ca3c5eb)
  • model — un seul constructeur par physique, et les lois sous leur vrai nom (9eeb281)
  • model — les contraintes créent leurs multiplicateurs, sous des noms communs (1f6d19a)
  • model — des signatures uniformes pour les constructeurs de modèle (5a90d6b)
  • solver — la matrice se suffit, un seul solve (14081e0)
  • contact — le contact porte son jeu, contact_gaps disparaît (21fd935)
  • solver — Factored et Reduced sans boîte, dérogation motivée (cabccb6)

Documentation

  • book — TempDir cité sans chemin ::, que le garde-fou des symboles prenait pour un module (a9cad86)

Tests

  • python — les 17 entrées qu'aucun test n'exerçait (d966c37)

Compilation et outillage

  • check-list A1–A14 — résultats sans cauchy, délégations en anglais (6e61bc6)
  • clippy — trois avertissements antérieurs (f26d0bb)
  • model — les restes du bilan des physiques (846e49d)

Style

  • py — ruff check passe, et entre dans check_format (fec2b5b)

Divers

  • Merge branch 'feat/pas-a-pas'

Le pas à pas de Cast3M porté en Python (pyrucast.stepping) sur les briques
Rust qui manquaient : grands déplacements en lagrangien total, câbles,
project, contact en grands déplacements, un seul solve lisant tout dans la
matrice, contrôle des mailles retournées. (df16549)

pyrucast v0.10.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 16:24

crates.io pyrucast 0.10.0 · PyPI pyrucast 0.10.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.10.0 — 24/09/2026

Nouveautés

  • exchange — échange générique par tableaux, gmsh et medcoupling dans les deux sens (4adc1ea)

pyrucast v0.9.1

Choose a tag to compare

@github-actions github-actions released this 22 Sep 21:43

crates.io pyrucast 0.9.1 · PyPI pyrucast 0.9.1

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.9.1 — 22/09/2026

Nouveautés

  • solve_peak — cube thermique par les voies publiques, pics anonyme et fichier (aa86206)
  • spill — swap utilisateur — les grosses allocations dans des fichiers mappés (a88f1ff)
  • spill — compteurs et journal des blocs débordés (98f47a5)
  • spill,matrix — les compteurs côté Python, et ce que pèse une matrice (2a994aa)

Corrections

  • matrix — le doctest de memory_bytes n'importait pas Aggregate (f776a70)
  • python — spill_stats réexporté par le paquet (981392d)

Documentation

  • solveur — calculs plus gros que la RAM (efecf3c)
  • solveur — les cinq configurations du débordement, en une seule série (52849b8)
  • matrix,spill — les deux entrées Python neuves ont leur exemple (f8436e4)

pyrucast v0.9.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 08:46

crates.io pyrucast 0.9.0 · PyPI pyrucast 0.9.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.9.0 — 22/09/2026

Ruptures d'API

  • py — les macros de champ nomment l'item qu'elles produisent (864aeb7)
  • matrix — les opérateurs scalaires et dof_vars cessent de rendre un Result (506fb10)
  • matrix — SubMatrix::new et computed cessent de rendre un Result (3ff67a5)
  • matrix,model — filter ne rend plus un Result (ce150ee)
  • matrix — un bloc déclare quelle part de la symétrie il porte (087c561)
  • solver — Cholesky au choix, et la matrice symétrique part sans retournement (c8277bf)
  • matrix — une seule marche construit les deux ordres de DDL (e24c714)

Nouveautés

  • matrix — additionner des matrices, et l'échelle garde l'assemblage (39e44c9)
  • matrix,python — le bloc porte la même algèbre scalaire que l'agrégat (868f993)

Corrections

  • docs — sept lignes vides laissées dans des blocs de doc (a09d0c7)
  • solver,matrix — deux constructions que clippy refuse (5d7c060)
  • tests — test_gmsh_live attend le message traduit (3dee1cb)

Performances

  • solver — la matrice part chez faer empruntée, sans être recopiée (6a5879c)

Remaniements

  • py — huit verbes de champ redeviennent des méthodes écrites (2520800)
  • py — pow et richcmp s'écrivent, leur sémantique se factorise (c06618b)
  • py — six macros de champ, nommées d'après ce qu'elles engendrent (fcfccde)
  • matrix — le bloc lit sa connectivité au lieu de la recopier (2c72d58)
  • contraintes — le chemin littéral lit les connectivités au lieu de les recopier (386b40b)
  • kernel,model — les noyaux et la charge multiplicateur lisent en place (ee491c2)
  • ops — les opérateurs de maillage lisent la connectivité en place (4bb92c5)
  • matrix,scatter — quatre Result qui ne pouvaient pas échouer (04e339d)

Documentation

  • py — les macros de champ disent ce qu'elles engendrent (459628e)
  • py — la règle du seuil, et les commentaires que le déplacement a laissés faux (d6823ff)
  • py — la doc intégrée revient à l'anglais (6d3ca8d)
  • py — src/py passe entièrement à l'anglais (c84b2a8)
  • models,containers — kernel.rs et matrix.rs passent à l'anglais (c86676a)
  • bascule à l'anglais — src/, tests/, examples/, les .md hors book (bcf664d)
  • troisième lot de la bascule — tests/python, examples, src (52bdbdb)
  • quatrième lot de la bascule à l'anglais (402a2e6)
  • cinquième lot de la bascule à l'anglais (eb931b2)
  • sixième lot de la bascule à l'anglais (bab3fbf)
  • fin de la bascule à l'anglais hors book (2898899)
  • py — merge_nodes recopie la doc de sa fonction libre (a49b8aa)
  • solver,matrix — le solveur emprunte la CSR, il ne la convertit plus (10bc5af)
  • matrix — DofOrder atteste le partage qu'il annonce (6657ae3)

Divers

  • parallel — l'assemblage passe à 880×880 pour sortir du bruit (c9aab08)

pyrucast v0.8.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 21:26

crates.io pyrucast 0.8.0 · PyPI pyrucast 0.8.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.8.0 — 17/09/2026

Nouveautés

  • py — #[py_op] dérive la méthode raccourci de sa fonction libre (197690a)
  • py — tout mesh passe à #[py_op], ses 40 méthodes sont dérivées (789dfd7)
  • py — les quatre derniers modules d'opérateurs passent à #[py_op] (be81f7d)
  • affichage — les zones d'un agrégat portent l'identifiant de leur handle (7207e3d)
  • affichage — le résumé d'un agrégat nomme ses zones, sa structure reprend son total (6ab0f7c)

Corrections

  • py — les douze pointeurs qui visaient le vide, et le garde-fou qui manquait (3ba3168)
  • affichage — le contenu d'un sous-objet n'en dit plus moins que sa structure (599ac3a)
  • affichage — le résumé et la structure d'une vue ne prennent plus de verrou (c6468bd)
  • macros — la rustdoc de py_op ne produit plus d'avertissement (cade8d9)
  • release — publish_macros.sh se nomme auprès de crates.io (52b1713)
  • release — publish_macros.sh ne commite pas un Cargo.lock ignoré (89db305)

Remaniements

  • py — les trois niveaux d'affichage naissent de la macro qui posait dump (f09f8d5)
  • handle — le Debug d'un handle dit ce que dit son Display (86f12bc)
  • py — les verbes de lecture des champs naissent de deux macros (05b7375)
  • py — les deux accesseurs propres aux sous-conteneurs rejoignent la macro (6028278)
  • py — les quatre mutateurs de composante naissent de deux macros (896cb98)
  • py — les cinq opérateurs arithmétiques naissent de macros exportées (ccf3309)
  • py — une forme unique pour les six macros, sans Result inutile (d8903db)
  • py — les maths élémentaires et les composantes rejoignent la charpente (8876cd4)
  • py — richcmp rejoint la charpente, en bras non décoré (c3b757d)
  • py — mask et select dérivent leurs méthodes d'une fonction par saveur (b79bcd4)
  • py — cell.rs rend ses 2 valeurs infaillibles sans PyResult (813d6a4)
  • py — coords.rs rend ses 12 valeurs infaillibles sans PyResult (7123f29)
  • py — element.rs rend ses 3 valeurs infaillibles sans PyResult (3fd402d)
  • py — element_field.rs rend ses 2 valeurs infaillibles sans PyResult (66bf37d)
  • py — evolution.rs rend ses 6 valeurs infaillibles sans PyResult (0367ad1)
  • py — finite_element_space.rs rend ses 8 valeurs infaillibles sans PyResult (862fa4d)
  • py — matrix.rs rend ses 20 valeurs infaillibles sans PyResult (760edec)
  • py — mesh.rs rend ses 9 valeurs infaillibles sans PyResult (83251b8)
  • py — model.rs rend ses 10 valeurs infaillibles sans PyResult (6d106a9)
  • py — node_field.rs rend ses 1 valeurs infaillibles sans PyResult (2ec3109)
  • py — six macros de champ réduites à trois (72ccf38)
  • py — la doc des macros de champ s'écrit en /// (b8dd1fa)

Documentation

  • py — les maths élémentaires portent la doc de leur fonction libre (e162971)
  • trois liens intra-doc visaient des items privés (a5d9f5c)
  • handle — tag porte enfin son exemple (6cb9934)
  • conventions — le sens d'une macro, nommer ses types ou les recevoir (81aa5b3)

Compilation et outillage

  • workspace — la crate de macros procédurales, et les garde-fous qui la couvrent (91e456a)
  • release — un script pour vérifier et publier pyrucast-macros (cb042c0)

pyrucast v0.7.1

Choose a tag to compare

@github-actions github-actions released this 15 Sep 07:45

crates.io pyrucast 0.7.1 · PyPI pyrucast 0.7.1

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.7.1 — 15/09/2026

Ruptures d'API

  • transfert — les échanges reçoivent le modèle qu'ils couplent (15c2cd1)

Documentation

  • echanges — le book montre la nature que chaque échange tient de sa cible (cc0da50)

pyrucast v0.7.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 06:19

crates.io pyrucast 0.7.0 · PyPI pyrucast 0.7.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.7.0 — 14/09/2026

Ruptures d'API

  • la modélisation continue cesse d'appartenir à l'élasticité (9ecd6e3)
  • la tangente se demande, et ne se stocke plus (3cc91ee)
  • residu — le résidu se demande au modèle, des deux côtés du signe égal (11cb66e)
  • residu — le contrat déclare une recette, l'opérateur produit le champ (9a769f6)
  • models — la loi quitte le domaine, qui ne dit plus que « j'intègre » (454f4e9)
  • transfert — l'ambiant rentre chez lui, et le résidu externe cesse d'être vide (187fa9d)
  • flux — la dernière porte libre du second membre se ferme (a52ce77)
  • contraintes — un appui reçoit le modèle qu'il contraint (8b929c4)
  • contraintes — le MPC, le baignage et le contact reçoivent leur cible (2c4690e)
  • interface — l'interface perd sa loi, un terme dit ce qu'il lit (c0c564a)
  • flux — la charge reçoit le modèle qu'elle charge (8908b11)
  • divergence — les forces internes sans modèle sont une divergence (8265b83)

Nouveautés

  • beam — le B de poutre cesse d'être implicite (7c32669)
  • poutres — Bernoulli et Timoshenko rendent leurs forces internes (504312e)
  • coque — la coque rend ses forces internes, et ses déformations (d4820e6)
  • flux — la charge répartie devient une physique (7a134b8)
  • residu — le transfert perd sa loi postiche, la contrainte rend sa réaction (3739a7a)

Corrections

  • finite_element_space — une maille saine cesse d'être singulière par ses unités (798f93c)
  • finite_element_space — la négation qui attrape le NaN se nomme (8992793)
  • interface — le saut se lit par nom, pas par position (83609ed)
  • flux — la charge répartie retrouve la base du champ et son garde-fou (bee6ff3)
  • clippy — les passes clippy redeviennent muettes avant la 0.7.0 (96c7b43)

Remaniements

  • residu — le contrat externe cesse de payer un Result qu'il ne porte pas (4ca912d)
  • contraintes — les Option de constructeur cessent d'être des bouche-trous (2d1f3e1)

Documentation

  • elasticity — le commentaire disait ce que la mesure a infirmé (1101643)
  • structurel — le book dit ce que les structurels rendent (3c8cf67)
  • bench — la poutre console atteste la non-régression du résidu (83ab110)

pyrucast v0.6.0

Choose a tag to compare

@github-actions github-actions released this 31 Aug 19:41

crates.io pyrucast 0.6.0 · PyPI pyrucast 0.6.0

Wheels cp311-abi3 (Python ≥ 3.11) pour Linux x86_64, Windows x86_64 et macOS universal2.
La sdist se compile sans la visualisation : pyrucast.__features__ dit ce que porte votre installation.

0.6.0 — 31/08/2026

Ruptures d'API

  • le Result et l'Option ne se paient que s'ils portent un choix (63315cd)

Performances

  • node_field — deux noyaux de flux plutôt qu'un noyau et un test (240ff3e)
  • scaling — un mode cube HEX8 3-D qui mesure aussi les octets (9deca6e)
  • matrix — numéroter les DDL en clés compactes, sans String (25256a0)
  • coloring — incidence en CSR par tri par comptage (db52e77)
  • matrix — l'état assemblé partage sa sparsité au lieu de la recopier (4a6edbc)
  • element_field — fusionner les champs par indices, pas par noms (10dff21)
  • scatter — un motif qui ne matérialise plus rien par maille (7d85971)
  • node_field — l'union cesse de recopier ce qu'elle rend inchangé (7074445)

Remaniements

  • node_field — flux prend les deux conteneurs divisibles (b474108)