{
  "__type": "IngestedDoc",
  "__tag": 4010,
  "_content": {},
  "_ordered_sections": [],
  "item_file": null,
  "item_line": null,
  "item_type": null,
  "aliases": [],
  "example_section_data": {
    "__type": "Section",
    "__tag": 4015,
    "children": [],
    "title": [],
    "level": 0,
    "target": null
  },
  "see_also": [],
  "signature": null,
  "references": null,
  "qa": "reference:distutils_status_migration",
  "arbitrary": [
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "InlineRole",
              "__tag": 4003,
              "value": "numpy.distutils",
              "domain": null,
              "role": null,
              "inventory": null
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " has been deprecated in NumPy "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "1.23.0"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". It will be removed for Python 3.12; for Python <= 3.11 it will not be removed until 2 years after the Python 3.12 release (Oct 2025)."
            }
          ]
        },
        {
          "__type": "Admonition",
          "__tag": 4056,
          "kind": "warning",
          "base_type": "warning",
          "children": [
            {
              "__type": "AdmonitionTitle",
              "__tag": 4055,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "warning "
                }
              ]
            },
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "InlineCode",
                  "__tag": 4051,
                  "value": "numpy.distutils"
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": " is only tested with "
                },
                {
                  "__type": "InlineCode",
                  "__tag": 4051,
                  "value": "setuptools < 60.0"
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": ", newer versions may break. See "
                },
                {
                  "__type": "CrossRef",
                  "__tag": 4002,
                  "value": "numpy-setuptools-interaction",
                  "reference": {
                    "__type": "LocalRef",
                    "__tag": 4022,
                    "kind": "docs",
                    "path": "reference:distutils_status_migration"
                  },
                  "kind": "exists"
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": " for details."
                }
              ]
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Status of "
        },
        {
          "__type": "InlineCode",
          "__tag": 4051,
          "value": "numpy.distutils"
        },
        {
          "__type": "Text",
          "__tag": 4046,
          "value": " and migration advice"
        }
      ],
      "level": 0,
      "target": "distutils-status-migration"
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "There are several build systems which are good options to migrate to. Assuming you have compiled code in your package (if not, you have several good options, e.g. the build backends offered by Poetry, Hatch or PDM) and you want to be using a well-designed, modern and reliable build system, we recommend:"
            }
          ]
        },
        {
          "__type": "BulletList",
          "__tag": 4053,
          "ordered": true,
          "start": 1,
          "children": [
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "Meson"
                        }
                      ],
                      "url": "https://mesonbuild.com/",
                      "title": ""
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", and the "
                    },
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "meson-python"
                        }
                      ],
                      "url": "https://mesonbuild.com/meson-python/",
                      "title": ""
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " build backend"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "CMake"
                        }
                      ],
                      "url": "https://cmake.org/",
                      "title": ""
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": ", and the "
                    },
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "scikit-build-core"
                        }
                      ],
                      "url": "https://scikit-build-core.readthedocs.io/en/latest/",
                      "title": ""
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " build backend"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If you have modest needs (only simple Cython/C extensions; no need for Fortran, BLAS/LAPACK, nested "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setup.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " files, or other features of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ") and have been happy with "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " so far, you can also consider switching to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". Note that most functionality of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " is unlikely to be ported to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Migration advice"
        }
      ],
      "level": 1,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "SciPy has moved to Meson and meson-python for its 1.9.0 release. During this process, remaining issues with Meson's Python support and feature parity with "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " were resolved. "
            },
            {
              "__type": "Emphasis",
              "__tag": 4047,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Note: parity means a\nlarge superset (because Meson is a good general-purpose build system); only\na few BLAS/LAPACK library selection niceties are missing"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". SciPy uses almost all functionality that "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " offers, so if SciPy has successfully made a release with Meson as the build system, there should be no blockers left to migrate, and SciPy will be a good reference for other packages who are migrating. For more details about the SciPy migration, see:"
            }
          ]
        },
        {
          "__type": "BulletList",
          "__tag": 4053,
          "ordered": false,
          "start": 1,
          "children": [
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "RFC: switch to Meson as a build system"
                        }
                      ],
                      "url": "https://github.com/scipy/scipy/issues/13615",
                      "title": ""
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "Tracking issue for Meson support"
                        }
                      ],
                      "url": "https://github.com/rgommers/scipy/issues/22",
                      "title": ""
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "NumPy will migrate to Meson for the 1.26 release."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Moving to Meson"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The next generation of scikit-build is called "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "scikit-build-core"
                }
              ],
              "url": "https://scikit-build-core.readthedocs.io/en/latest/",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". Where the older "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "scikit-build"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " used "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " underneath, the rewrite does not. Like Meson, CMake is a good general-purpose build system."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Moving to CMake / scikit-build"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For projects that only use "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " for historical reasons, and do not actually use features beyond those that "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " also supports, moving to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " is likely the solution which costs the least effort. To assess that, there are the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " features that are "
            },
            {
              "__type": "Emphasis",
              "__tag": 4047,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "not"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " present in "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ":"
            }
          ]
        },
        {
          "__type": "BulletList",
          "__tag": 4053,
          "ordered": false,
          "start": 1,
          "children": [
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Nested "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "setup.py"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " files"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Fortran build support"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "BLAS/LAPACK library support (OpenBLAS, MKL, ATLAS, Netlib LAPACK/BLAS, BLIS, 64-bit ILP interface, etc.)"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Support for a few other scientific libraries, like FFTW and UMFPACK"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Better MinGW support"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Per-compiler build flag customization (e.g. "
                    },
                    {
                      "__type": "InlineRole",
                      "__tag": 4003,
                      "value": "-O3",
                      "domain": null,
                      "role": null,
                      "inventory": null
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and "
                    },
                    {
                      "__type": "InlineRole",
                      "__tag": 4003,
                      "value": "SSE2",
                      "domain": null,
                      "role": null,
                      "inventory": null
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " flags are default)"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "a simple user build config system, see "
                    },
                    {
                      "__type": "Link",
                      "__tag": 4049,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "site.cfg.example"
                        }
                      ],
                      "url": "https://github.com/numpy/numpy/blob/master/site.cfg.example",
                      "title": ""
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "SIMD intrinsics support"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Support for the NumPy-specific "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": ".src"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " templating format for "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": ".c"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "/"
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": ".h"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " files"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The most widely used feature is nested "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setup.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " files. This feature may perhaps still be ported to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " in the future (it needs a volunteer though, see "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "gh-18588"
                }
              ],
              "url": "https://github.com/numpy/numpy/issues/18588",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " for status). Projects only using that feature could move to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " after that is done. In case a project uses only a couple of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setup.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " files, it also could make sense to simply aggregate all the content of those files into a single "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setup.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " file and then move to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". This involves dropping all "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Configuration"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " instances, and using "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Extension"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " instead. E.g.,      "
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "from distutils.core import setup\nfrom distutils.extension import Extension\nsetup(name='foobar',\n      version='1.0',\n      ext_modules=[\n          Extension('foopkg.foo', ['foo.c']),\n          Extension('barpkg.bar', ['bar.c']),\n          ],\n      )",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For more details, see the "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "setuptools documentation"
                }
              ],
              "url": "https://setuptools.pypa.io/en/latest/setuptools.html",
              "title": ""
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Moving to "
        },
        {
          "__type": "InlineCode",
          "__tag": 4051,
          "value": "setuptools"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "It is recommended to use "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools < 60.0"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". Newer versions may work, but are not guaranteed to. The reason for this is that "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " 60.0 enabled a vendored copy of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", including backwards incompatible changes that affect some functionality in "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If you are using only simple Cython or C extensions with minimal use of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "numpy.distutils"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " functionality beyond nested "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setup.py"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " files (its most popular feature, see "
            },
            {
              "__type": "InlineRole",
              "__tag": 4003,
              "value": "Configuration <numpy.distutils.misc_util.Configuration>",
              "domain": null,
              "role": "class",
              "inventory": null
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "), then latest "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " is likely to continue working. In case of problems, you can also try "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "SETUPTOOLS_USE_DISTUTILS=stdlib"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to avoid the backwards incompatible changes in "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Whatever you do, it is recommended to put an upper bound on your "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "setuptools"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " build requirement in "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "pyproject.toml"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to avoid future breakage - see "
            },
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "for-downstream-package-authors",
              "reference": {
                "__type": "LocalRef",
                "__tag": 4022,
                "kind": "docs",
                "path": "dev:depending_on_numpy"
              },
              "kind": "exists"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "CMake"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "Meson"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "meson-python"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "scikit-build-core"
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Interaction of "
        },
        {
          "__type": "InlineCode",
          "__tag": 4051,
          "value": "numpy.distutils"
        },
        {
          "__type": "Text",
          "__tag": 4046,
          "value": " with "
        },
        {
          "__type": "InlineCode",
          "__tag": 4051,
          "value": "setuptools"
        }
      ],
      "level": 1,
      "target": "numpy-setuptools-interaction"
    }
  ],
  "local_refs": []
}