diff --git a/.github/workflows/standard_library_tests_and_examples.yml b/.github/workflows/standard_library_tests_and_examples.yml index e3c0deec03..2f13005fb3 100644 --- a/.github/workflows/standard_library_tests_and_examples.yml +++ b/.github/workflows/standard_library_tests_and_examples.yml @@ -63,5 +63,5 @@ jobs: env: MOJO_ENABLE_ASSERTIONS_IN_TESTS: ${{ matrix.mojo-enable-assertions }} run: | - magic run tests - magic run examples + magic run --frozen tests + magic run --frozen examples diff --git a/.gitignore b/.gitignore index 1917d2257b..81e5af8ff5 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,6 @@ ENV/ env.bak/ venv.bak/ .magic/ -magic.lock # MacOS .DS_Store diff --git a/README.md b/README.md index 51fa8e08fa..5774ca462a 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed -to become a superset of Python over time. +to become the best way to extend Python over time. This repo includes source code for: diff --git a/docs/changelog.md b/docs/changelog.md index 21776f1a33..85f46f7ac9 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -21,10 +21,11 @@ what we publish. [Issue #933](https://github.com/modularml/mojo/issues/933). - The destructor insertion logic in Mojo is now aware that types that take an - `AnyLifetime` as part of their signature could potentially access any live - value that destructor insertion is tracking, eliminating a significant - usability issue with unsafe APIs like `UnsafePointer`. Consider a typical - example working with strings before this change: + `MutableAnyOrigin` or `ImmutableAnyOrigin` as part of their signature could + potentially access any live value that destructor insertion is tracking, + eliminating a significant usability issue with unsafe APIs like + `UnsafePointer`. Consider a typical example working with strings before this + change: ```mojo var str = String(...) @@ -35,20 +36,20 @@ what we publish. The `_ = str^` pattern was formerly required because the Mojo compiler has no idea what "ptr" might reference. As a consequence, it had no idea that - `some_low_level_api` might access `str` and therefore thought it was ok to + `some_low_level_api()` might access `str` and therefore thought it was ok to destroy the `String` before the call - this is why the explicit lifetime extension was required. - Mojo now knows that `UnsafePointer` may access the `AnyLifetime` lifetime, - and now assumes that any API that uses that lifetime could use live values. - In this case, it assumes that `some_low_level_api` might access `str` and + Mojo now knows that `UnsafePointer` may access the `MutableAnyOrigin` origin, + and now assumes that any API that uses that origin could use live values. + In this case, it assumes that `some_low_level_api()` might access `str` and because it might be using it, it cannot destroy `str` until after the call. The consequence of this is that the old hack is no longer needed for these cases! -- The `UnsafePointer` type now has a `lifetime` parameter that can be used when - the `UnsafePointer` is known to point into some lifetime. This lifetime is - propagated through the `ptr[]` indirection operation. +- The `UnsafePointer` type now has an `origin` parameter that can be used when + the `UnsafePointer` is known to point to a value with a known origin. This + origin is propagated through the `ptr[]` indirection operation. - The VS Code Mojo Debugger now has a `buildArgs` JSON debug configuration setting that can be used in conjunction with `mojoFile` to define the build @@ -123,9 +124,9 @@ what we publish. pass ``` -- Function types now accept a lifetime set parameter. This parameter represents - the lifetimes of values captured by a parameter closure. The compiler - automatically tags parameter closures with the right set of lifetimes. This +- Function types now accept an origin set parameter. This parameter represents + the origins of values captured by a parameter closure. The compiler + automatically tags parameter closures with the right set of origins. This enables lifetimes and parameter closures to correctly compose. ```mojo @@ -144,8 +145,8 @@ what we publish. ``` Note that this only works for higher-order functions which have explicitly - added `[_]` as the capture lifetimes. By default, the compiler still assumes - a `capturing` closure does not reference any lifetimes. This will soon change. + added `[_]` as the capture origins. By default, the compiler still assumes + a `capturing` closure does not reference any origins. This will soon change. - The VS Code extension now has the `mojo.run.focusOnTerminalAfterLaunch` setting, which controls whether to focus on the terminal used by the @@ -157,18 +158,19 @@ what we publish. determining a default SDK to use. The user can select the default SDK to use with the `Mojo: Select the default MAX SDK` command. -- Added a new [`Box`](/mojo/stdlib/memory/box/Box) type as a safe, single-owner, - non-nullable smart pointer with similar semantics to Rust's +- Added a new [`OwnedPointer`](/mojo/stdlib/memory/owned_pointer/OwnedPointer) + type as a safe, single-owner, non-nullable smart pointer with similar + semantics to Rust's [`Box<>`](https://doc.rust-lang.org/std/boxed/struct.Box.html) and C++'s [`std::unique_ptr`](https://en.cppreference.com/w/cpp/memory/unique_ptr). ([PR #3524](https://github.com/modularml/mojo/pull/3524) by [@szbergeron](https://github.com/szbergeron)) - `ref` argument and result specifiers now allow providing a memory value - directly in the lifetime specifier, rather than requiring the use of - `__origin_of`. It is still fine to use `__origin_of` explicitly though, - and this is required when specifying lifetimes for parameters (e.g. to the - `Reference` type). For example, this is now valid without `__origin_of`: + directly in the origin specifier, rather than requiring the use of + `__origin_of()`. It is still fine to use `__origin_of()` explicitly though, + and this is required when specifying origins for parameters (e.g. to the + `Pointer` type). For example, this is now valid without `__origin_of()`: ```mojo fn return_ref(a: String) -> ref [a] String: @@ -214,6 +216,19 @@ what we publish. - The Mojo LLDB debugger now supports symbol breakpoints, e.g. `b main` or `b my_module::main`. +- The VS Code extension now allows cancelling the installation of its private + MAX SDK. + +- The VS Code extension now opens the Run and Debug tab automatically whenever + a debug session starts. + +- The `mojo debug --vscode` command now support the `--init-command` and + `--stop-on-entry` flags. Execute `mojo debug --help` for more information. + +- The Mojo LLDB debugger on VS Code now supports inspecting the raw attributes + of variables that are handled as synthetic types, e.g. `List` from Mojo or + `std::vector` from C++. + ### 🦋 Changed - More things have been removed from the auto-exported set of entities in the `prelude` @@ -234,8 +249,8 @@ what we publish. specifies to the compiler that the resultant pointer is a distinct identifiable object that does not alias any other memory in the local scope. -- The `AnyLifetime` type (useful for declaring lifetime types as parameters) has - been renamed to `Lifetime`. +- The `AnyLifetime` type (useful for declaring origin types as parameters) has + been renamed to `Origin`. - Restore implicit copyability of `Tuple` and `ListLiteral`. @@ -341,12 +356,50 @@ what we publish. been consolidated under `s.as_bytes` to return a `Span[Byte]`, you can convert it to a `List` if you require a copy with `List(s.as_bytes())`. -- `Lifetime` and related types has been renamed to `Origin` in the standard +- `Lifetime` and related types have been renamed to `Origin` in the standard library to better clarify that parameters of this type indicate where a reference is derived from, not the more complicated notion of where a variable is initialized and destroyed. Please see [the proposal](https://github.com/modularml/mojo/blob/main/proposals/lifetimes-keyword-renaming.md) - for more information and rationale. As a consequence `__lifetime_of` is now - named `__origin_of`. + for more information and rationale. As a consequence the `__lifetime_of()` + operator is now named `__origin_of()`. + +- You can now use the `+=` and `*` operators on a `StringLiteral` at compile + time using the `alias` keyword: + + ```mojo + alias original = "mojo" + alias concat = original * 3 + assert_equal("mojomojomojo", concat) + ``` + + Or inside a `fn` that is being evaluated at compile time: + + ```mojo + fn add_literal( + owned original: StringLiteral, add: StringLiteral, n: Int + ) -> StringLiteral: + for _ in range(n): + original += add + return original + + + fn main(): + alias original = "mojo" + alias concat = add_literal(original, "!", 4) + assert_equal("mojo!!!!", concat) + ``` + + These operators can't be evaluated at runtime, as a `StringLiteral` must be + written into the binary during compilation. + + - You can now index into `UnsafePointer` using SIMD scalar integral types: + + ```mojo + p = UnsafePointer[Int].alloc(1) + i = UInt8(1) + p[i] = 42 + print(p[i]) + ``` ### ❌ Removed @@ -365,7 +418,7 @@ what we publish. doesn't extend the lifetimes of the values it references. - [Issue #3627](https://github.com/modularml/mojo/issues/3627) - Compiler - overlooked exclusivity violation caused by `ref [MutableAnyLifetime] T` + overlooked exclusivity violation caused by `ref [MutableAnyOrigin] T` - The VS Code extension now auto-updates its private copy of the MAX SDK. @@ -373,3 +426,6 @@ what we publish. - The VS Code extension now downloads its private copy of the MAX SDK in a way that prevents ETXTBSY errors on Linux. + +- The VS Code extension now allows invoking a mojo formatter from SDK + installations that contain white spaces in their path. diff --git a/docs/manual/basics.ipynb b/docs/manual/basics.ipynb index d35752c300..c75b22d225 100644 --- a/docs/manual/basics.ipynb +++ b/docs/manual/basics.ipynb @@ -25,7 +25,7 @@ "world\"](/mojo/manual/get-started). Now let's talk about how\n", "to write Mojo code.\n", "\n", - "You probably already know that Mojo is designed as a superset of Python. So if\n", + "If\n", "you know Python, then a lot of Mojo code will look familiar. However, Mojo\n", "is—first and foremost—designed for high-performance systems programming, with\n", "features like strong type checking, memory safety, next-generation compiler\n", @@ -643,7 +643,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Mojo is not yet a full superset of Python, but we've built a mechanism to import\n", + "Mojo does not yet adopt the full syntax of Python, but we've built a mechanism to import\n", "Python modules as-is, so you can leverage existing Python code right away.\n", "\n", "For example, here's how you can import and use NumPy (you must have Python\n", diff --git a/docs/manual/decorators/parameter.ipynb b/docs/manual/decorators/parameter.ipynb index c74b25e22f..1cb7334442 100644 --- a/docs/manual/decorators/parameter.ipynb +++ b/docs/manual/decorators/parameter.ipynb @@ -127,7 +127,7 @@ } ], "source": [ - "fn use_closure[func: fn(Int) capturing -> Int](num: Int) -> Int:\n", + "fn use_closure[func: fn(Int) capturing [_] -> Int](num: Int) -> Int:\n", " return func(num)\n", "\n", "fn create_closure():\n", @@ -150,20 +150,19 @@ "source": [ "Without the `@parameter` decorator, you'll get a compiler error that says you\n", "\"cannot use a dynamic value in call parameter\"—referring to the\n", - "`use_closure[add](2)` call—because the `add()` closure would still be dynamic." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ + "`use_closure[add](2)` call—because the `add()` closure would still be dynamic.\n", "\n", - ":::caution\n", + "Note the `[_]` in the function type:\n", "\n", - "This is an unsafe feature because we currently do not model the lifetimes of\n", - "capture-by-reference.\n", + "```mojo\n", + "fn use_closure[func: fn(Int) capturing [_] -> Int](num: Int) -> Int:\n", + "```\n", "\n", - ":::" + "This origin specifier represents the set of origins for the values captured by\n", + "the parametric closure. This allows the compiler to correctly extend the\n", + "lifetimes of those values. For more information on lifetimes and origins, see\n", + "[Lifetimes, origins and references](/mojo/manual/values/lifetimes).\n", + "\n" ] }, { diff --git a/docs/manual/index.md b/docs/manual/index.md index 6d3e2bbd3e..ba52bcd6c4 100644 --- a/docs/manual/index.md +++ b/docs/manual/index.md @@ -10,7 +10,7 @@ Mojo is designed to solve a variety of AI development challenges that no other language can, because Mojo is the first programming language built from the ground-up with [MLIR](https://mlir.llvm.org/) (a compiler infrastructure that's ideal for heterogeneous hardware, from CPUs and GPUs, to various AI ASICs). We -also designed Mojo as a superset of Python because we love Python and its +also designed Mojo as the best way to extend Python because we love Python and its community, but we couldn't realistically enhance Python to do all the things we wanted. For a longer discussion on this topic, read [Why Mojo](/mojo/why-mojo). diff --git a/docs/manual/lifecycle/index.ipynb b/docs/manual/lifecycle/index.ipynb index 61872ba398..f4e3118941 100644 --- a/docs/manual/lifecycle/index.ipynb +++ b/docs/manual/lifecycle/index.ipynb @@ -71,20 +71,21 @@ "constructor (`__copyinit__()`), and the move constructor (`__moveinit__()`).\n", "All values that are declared with the same type have the same lifecycle.\n", "\n", - "- The \"lifetime\" of a value is defined by the span of time during \n", - "program execution in which each value is considered valid. The life of a value \n", - "begins when it is initialized (via `__init__()`, `__copyinit__()` or \n", - "`__moveinit__()`) and ends when it is destroyed (`__del__()`), or consumed in\n", - "some other way (for example, as part of a `__moveinit__()` call). \n", + "- The \"lifetime\" of a variable is defined by the span of time during \n", + "program execution in which the variable is considered valid. The life of a \n", + "variable begins when its value is initialized (via `__init__()`, \n", + "`__copyinit__()` or `__moveinit__()`) and ends when the value is destroyed \n", + "(`__del__()`), or consumed in some other way (for example, as part of a \n", + "`__moveinit__()` call). \n", "\n", - "No two values have the exact same life span, because every value is created and \n", + "No two values have the exact same lifetime, because every value is created and \n", "destroyed at a different point in time (even if the difference is imperceptible).\n", "\n", - ":::note Lifetime type\n", + ":::note Origin type\n", "\n", "The concept of lifetimes is related to the `origin` type, a Mojo primitive\n", "used to track ownership. For most Mojo programming, you won't need to work with\n", - "`origin` values directly. For information, see [Lifetimes and\n", + "`origin` values directly. For information, see [Lifetimes, origins and\n", "references](/mojo/manual/values/lifetimes).\n", "\n", ":::\n", diff --git a/docs/manual/types.ipynb b/docs/manual/types.ipynb index 94690bd6d1..1cd9762b51 100644 --- a/docs/manual/types.ipynb +++ b/docs/manual/types.ipynb @@ -50,8 +50,8 @@ "Mojo's most basic numeric type is `Int`, which represents a signed integer of\n", "the largest size supported by the system—typically 64 bits or 32 bits.\n", "\n", - "Mojo also has built-in types for integer and floating-point values of various\n", - "precisions:\n", + "Mojo also has built-in types for integer, unsigned integer, and floating-point \n", + "values of various precisions:\n", "\n", "
\n", "\n", @@ -79,10 +79,41 @@ "functions.\n", "\n", "You may wonder when to use `Int` and when to use the other integer \n", - "types. In general, `Int` is good safe default when you need an integer type and\n", - "you don't require a specific bit width. Using `Int` as the default integer type\n", - "for APIs makes APIs more consistent and predictable.\n", - "\n", + "types. In general, `Int` is a good safe default when you need an integer type \n", + "and you don't require a specific bit width. Using `Int` as the default integer \n", + "type for APIs makes APIs more consistent and predictable.\n", + "\n", + "### Signed and unsigned integers\n", + "\n", + "Mojo supports both signed (`Int`) and unsigned (`UInt`) integers. You can use \n", + "the general `Int` or `UInt` types when you do not require a specific bit width.\n", + "Note that any alias to a fixed-precision type will be of type \n", + "[`SIMD`](/mojo/stdlib/builtin/simd/SIMD).\n", + "\n", + "You might prefer to use unsigned integers over signed integers in conditions \n", + "where you don't need negative numbers, are not writing for a public API, or need \n", + "additional range.\n", + "\n", + "Mojo's `UInt` type represents an unsigned integer of the \n", + "[word size](https://en.wikipedia.org/wiki/Word_(computer_architecture)) of the \n", + "CPU, which is 64 bits on 64-bit CPUs and 32 bits on 32-bit CPUs. If you wish to \n", + "use a fixed size unsigned integer, you can use `UInt8`, `UInt16`, `UInt32`, or \n", + "`UInt64`, which are aliases to the [`SIMD`](/mojo/stdlib/builtin/simd/SIMD) \n", + "type. \n", + "\n", + "Signed and unsigned integers of the same bit width can represent the same number \n", + "of values, but have different ranges. For example, an `Int8` can represent 256 \n", + "values ranging from -128 to 127. A `UInt8` can also represent 256 values, but \n", + "represents a range of 0 to 255. \n", + "\n", + "Signed and unsigned integers also have different overflow behavior. When a \n", + "signed integer overflows outside the range of values that its type can \n", + "represent, the value overflows to negative numbers. For example, adding `1` to \n", + "`var si: Int8 = 127` results in `-128`. \n", + "\n", + "When an unsigned integer overflows outside the range of values that its type can \n", + "represent, the value overflows to zero. So, adding `1` to `var ui: UInt8 = 255` \n", + "is equal to `0`.\n", "\n", "### Floating-point numbers\n", "\n", @@ -461,30 +492,23 @@ "Unlike `IntLiteral` and `FloatLiteral`, `StringLiteral` doesn't automatically\n", "materialize to a runtime type. In some cases, you may need to manually convert\n", "`StringLiteral` values to `String` using the built-in \n", - "[`str()`](/mojo/stdlib/builtin/str/str) method. \n", - "\n", - "For example, if you want to concatenate string literals to other types, you need \n", - "to first convert `StringLiteral` to `String` values. This is because many types\n", - "can be implicitly converted to `String`, but not to `StringLiteral`." + "[`str()`](/mojo/stdlib/builtin/str/str) method. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Strings play nicely with others: True\n" - ] - } - ], + "outputs": [], "source": [ - "# print(\"Strings play nicely with others: \" + True)\n", - "# Error: ... right hand side cannot be converted from Bool to StringLiteral\n", - "print(str(\"Strings play nicely with others: \") + str(True))" + "# Variable is type `StringLiteral`\n", + "var s1 = \"Example\"\n", + "\n", + "# Variable is type `String`\n", + "var s2: String = \"Example\"\n", + "\n", + "# Variable is type `String`\n", + "var s3 = str(\"Example\")" ] }, { @@ -531,6 +555,93 @@ "have a non-zero length." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tuples\n", + "\n", + "Mojo's `Tuple` type represents an immutable tuple consisting of zero or more \n", + "values, separated by commas. Tuples can consist of multiple types and you can \n", + "index into tuples in multiple ways. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 Example\n", + "Example\n" + ] + } + ], + "source": [ + "# Tuples are immutable and can hold multiple types\n", + "example_tuple = Tuple[Int, String](1, \"Example\")\n", + "\n", + "# Assign multiple variables at once\n", + "x, y = example_tuple\n", + "print(x, y)\n", + "\n", + "# Get individual values with an index\n", + "s = example_tuple.get[1, String]()\n", + "print(s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also create a tuple without explicit typing. Note that if we declare the \n", + "same tuple from the previous example with implicit typing instead of explicit, \n", + "we must also convert `\"Example\"` from type `StringLiteral` to type `String`. " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Example\n" + ] + } + ], + "source": [ + "example_tuple = (1, str(\"Example\"))\n", + "s = example_tuple.get[1, String]()\n", + "print(s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When defining a function, you can explicitly declare the type of tuple elements \n", + "in one of two ways: " + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "def return_tuple_1() -> Tuple[Int, Int]:\n", + " return Tuple[Int, Int](1, 1)\n", + "\n", + "def return_tuple_2() -> (Int, Int):\n", + " return (2, 2)" + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/docs/manual/values/lifetimes.ipynb b/docs/manual/values/lifetimes.ipynb index 3c801baf52..0c350dac66 100644 --- a/docs/manual/values/lifetimes.ipynb +++ b/docs/manual/values/lifetimes.ipynb @@ -9,9 +9,9 @@ }, "source": [ "---\n", - "title: Lifetimes and references\n", + "title: Lifetimes, origins, and references\n", "sidebar_position: 4\n", - "description: Working with lifetimes and references.\n", + "description: Working with origins and references.\n", "---" ] }, @@ -19,30 +19,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - ":::note Work in progress\n", - "\n", - "Both lifetimes and references are a work in progress and subject to change in\n", - "future releases. \n", - "\n", - ":::\n", - "\n", - "In Mojo, _lifetime_ has two meanings: \n", - "\n", - "- In general terms, a value's lifetime refers to the span of time when the \n", - " value is valid. \n", - "\n", - "- It also refers to a specific type of parameter value used to help track the \n", - " lifetimes of values and references to values. For clarity, we'll use\n", - " `lifetime` in code font to refer to the type.\n", - "\n", "The Mojo compiler includes a lifetime checker, a compiler pass that analyzes\n", "dataflow through your program. It identifies when variables are valid and \n", - "inserts destructor calls when a value's lifetime ends.\n", + "inserts destructor calls when a variable's lifetime ends.\n", "\n", - "The Mojo compiler uses `lifetime` values to track the validity of references.\n", - "Specifically, a `lifetime` value answers two questions:\n", + "The Mojo compiler uses a special value called an _origin_ to track the lifetime\n", + "of variables and the validity of references.\n", "\n", - "- What logical storage location \"owns\" this value?\n", + "Specifically, an origin answers two questions:\n", + "\n", + "- What variable \"owns\" this value?\n", "- Can the value be mutated using this reference?\n", "\n", "For example, consider the following code:\n" @@ -50,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -77,64 +63,64 @@ "and logical storage space for a `String` value. When you pass `name` into the\n", "`print_str()` function, the function gets an immutable reference to the value. \n", "So both `name` and `s` refer to the same logical storage space, and have\n", - "associated `lifetime` values that lets the Mojo compiler reason about them. \n", + "associated origin values that lets the Mojo compiler reason about them. \n", "\n", - "Most of the time, `lifetime` values are handled automatically by the compiler. \n", - "However, in some cases you'll need to interact with `lifetime` values directly:\n", + "Most of the time, origins are handled automatically by the compiler. \n", + "However, in some cases you'll need to interact with origins directly:\n", "\n", "- When working with references—specifically `ref` arguments and `ref` return\n", " values. \n", "\n", "- When working with types like \n", - " [`Reference`](/mojo/stdlib/memory/reference/Reference) or \n", + " [`Pointer`](/mojo/stdlib/memory/reference/Pointer) or \n", " [`Span`](/mojo/stdlib/utils/span/Span) which are parameterized on the \n", - " `lifetime` of the data they refer to.\n", + " origin of the data they refer to.\n", "\n", - "This section covers [`ref` arguments](#ref-arguments) and \n", + "This section also covers [`ref` arguments](#ref-arguments) and \n", "[`ref` return values](#ref-return-values), which let functions\n", "take arguments and provide return values as references with parametric\n", - "lifetimes." + "origins." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Working with lifetimes\n", + "## Working with origins\n", + "\n", + "Mojo's origin values are unlike most other values in the language, because\n", + "they're primitive values, not Mojo structs.\n", "\n", - "Mojo's `lifetime` values are unlike most other values in the language, because\n", - "they're primitive values, not Mojo structs. Specifying a parameter that takes a \n", - "`lifetime` value, you can't just say, `l: Lifetime`, because there's no \n", - "`Lifetime` type. Likewise, because these values are mostly created by the \n", - "compiler, you can't just create your own `lifetime` value—you usually need to \n", - "derive a `lifetime` from an existing value.\n", + "Likewise, because these values are mostly created by the \n", + "compiler, you can't just create your own origin value—you usually need to \n", + "derive an origin from an existing value.\n", "\n", - "### Lifetime types\n", + "### Origin types\n", "\n", "Mojo supplies a struct and a set of aliases that you can use to specify \n", - "`lifetime` types. As the names suggest, the `ImmutableLifetime` and \n", - "`MutableLifetime` aliases represent immutable and mutable lifetimes, \n", + "origin types. As the names suggest, the `ImmutableOrigin` and \n", + "`MutableOrigin` aliases represent immutable and mutable origins, \n", "respectively:\n", "\n", "```mojo\n", - "struct ImmutableRef[lifetime: ImmutableLifetime]:\n", + "struct ImmutableRef[origin: ImmutableOrigin]:\n", " pass\n", "```\n", "\n", - "Or you can use the [`AnyLifetime`](mojo/stdlib/builtin/type_aliases/AnyLifetime)\n", - "struct to specify a lifetime with parametric mutability:" + "Or you can use the [`Origin`](mojo/stdlib/builtin/type_aliases/Origin)\n", + "struct to specify an origin with parametric mutability:" ] }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "struct ParametricRef[\n", " is_mutable: Bool,\n", " //,\n", - " lifetime: AnyLifetime[is_mutable].type\n", + " origin: Origin[is_mutable].type\n", "]:\n", " pass" ] @@ -143,31 +129,39 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Note that `AnyLifetime` _isn't a lifetime value_, it's a helper for specifying a \n", - "`lifetime` **type**. Lifetime types carry the mutability of a reference as a \n", - "boolean parameter value, indicating whether the lifetime is mutable, immutable,\n", + "Note that `Origin` _isn't an origin value_, it's a helper for specifying a \n", + "origin **type**. Origin types carry the mutability of a reference as a \n", + "boolean parameter value, indicating whether the origin is mutable, immutable,\n", "or even with mutability depending on a parameter specified by the enclosing API.\n", "\n", "The `is_mutable` parameter here is an [infer-only\n", "parameter](/mojo/manual/parameters/#infer-only-parameters). It's never\n", "specified directly by the user, but always inferred from context. The\n", - "`lifetime` value is often inferred, as well. For example, the following code\n", - "creates a [`Reference`](/mojo/stdlib/memory/reference/Reference) to an existing\n", - "value, but doesn't need to specify a lifetime—the `lifetime` is inferred from\n", - "the variable passed in to the reference." + "`origin` value is often inferred, as well. For example, the following code\n", + "creates a [`Pointer`](/mojo/stdlib/memory/pointer/Pointer) to an existing\n", + "value, but doesn't need to specify an origin—the `origin` is inferred from\n", + "the variable passed in to the `address_of()` method." ] }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ - "from memory import Reference\n", + "from memory import Pointer\n", "\n", - "def use_reference():\n", + "def use_pointer():\n", " a = 10\n", - " r = Reference(a)" + " ptr = Pointer.address_of(a)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A final type of origin value is an `OriginSet`. As the name suggests, an \n", + "`OriginSet` represents a group of origins. " ] }, { @@ -175,89 +169,97 @@ "metadata": {}, "source": [ "\n", - "### Lifetime values\n", + "### Origin values\n", "\n", - "Most `lifetime` values are created by the compiler. As a developer, there are a\n", - "few ways to specify `lifetime` values:\n", + "Most origin values are created by the compiler. As a developer, there are a\n", + "few ways to specify origin values:\n", "\n", - "- Static lifetimes. The `ImmutableStaticLifetime` and `MutableStaticLifetime`\n", - " aliases are lifetimes that last for the duration of the program. \n", - "- The `__origin_of()` magic function, which returns the lifetime associated\n", + "- Static origin. The `StaticConstantOrigin`\n", + " alias is an origin value representing immutable values that that last for the\n", + " duration of the program. String literal values have a `StaticConstantOrigin`.\n", + "- The `__origin_of()` magic function, which returns the origin associated\n", " with the value (or values) passed in.\n", - "- Inferred lifetime. You can use inferred parameters to capture the lifetime\n", + "- Inferred origin. You can use inferred parameters to capture the origin\n", " of a value passed in to a function.\n", + "- Wildcard origins. The `ImmutableAnyOrigin` and `MutableAnyOrigin` aliases\n", + " are special cases indicating a reference that might access any live value.\n", "\n", - "#### Static lifetimes\n", + "#### Static origins\n", "\n", - "You can use the static lifetimes `ImmutableStaticLifetime` and \n", - "`MutableStaticLifetime` when you have a value that should never be destroyed;\n", - "or when there's no way to construct a meaningful `lifetime` for a value.\n", + "You can use the static origin `StaticConstantOrigin` when you have a \n", + "value that exists for the entire duration of the program.\n", "\n", - "For an example of the first case, the `StringLiteral` method\n", + "For example, the `StringLiteral` method\n", "[`as_string_slice()`](/mojo/stdlib/builtin/string_literal/StringLiteral#as_string_slice)\n", "returns a [`StringSlice`](/mojo/stdlib/utils/string_slice/StringSlice) pointing\n", "to the original string literal. String literals are static—they're allocated at\n", "compile time and never destroyed—so the slice is created with an immutable,\n", - "static lifetime.\n", - "\n", - "Converting an\n", - "[`UnsafePointer`](/mojo/stdlib/memory/unsafe_pointer/UnsafePointer) into a\n", - "`Reference` is an example of the second case: the `UnsafePointer`'s data\n", - "doesn't carry a `lifetime`—one reason that it's considered unsafe—but you need\n", - "to specify a `lifetime` when creating a `Reference`. In this case, there's no\n", - "way to construct a meaningful `lifetime` value, so the new `Reference` is\n", - "constructed with a `MutableStaticLifetime`. Mojo won't destroy this value\n", - "automatically. As with any value stored using a pointer, it's up to the user to\n", - "explicitly [destroy the\n", - "value](/mojo/manual/pointers#destroying-or-removing-values).\n", - "\n", - "#### Derived lifetimes\n", - "\n", - "Use the `__origin_of()` magic function to obtain a value's lifetime. This can \n", - "be useful, for example, when creating a container type. Consider the `List`\n", - "type. Subscripting into a list (`list[4]`) returns a reference to the item at\n", - "the specified position. The signature of the `__getitem__()` method that's\n", - "called to return the subscripted item looks like this:\n", + "static origin.\n", + "\n", + "#### Derived origins\n", + "\n", + "Use the `__origin_of(value)` operator to obtain a value's origin. The\n", + "argument to `__origin_of()` can take an arbitrary expression:\n", "\n", "```mojo\n", - "fn __getitem__(ref [_]self, idx: Int) -> ref [self] T:\n", + "__origin_of(self)\n", + "__origin_of(x.y)\n", + "__origin_of(foo())\n", "```\n", "\n", - "The syntax may be unfamiliar—`ref` arguments and `ref` return values are\n", - "described in the following sections. For now it's enough to know that \n", - "the return value is a reference of type `T` (where `T` is the element type\n", - "stored in the list), and the reference has the same lifetime as the list itself.\n", - "This means that as long as you hold the reference, the underlying list won't be\n", - "destroyed.\n", + "The `__origin_of()` operator is analyzed statically at compile time;\n", + "The expression passed to `__origin_of()` is never evaluated. (For example, \n", + "when the compiler analyzes `__origin_of(foo())`, it doesn't run the `foo()`\n", + "function.)\n", "\n", - ":::note\n", + "The following struct stores a string value using a \n", + "[`OwnedPointer`](/mojo/stdlib/memory/owned_pointer/OwnedPointer): a smart\n", + "pointer that holds an owned value. The `as_ptr()` method returns a `Pointer` to\n", + "the stored string, using the same origin as the original `OwnedPointer`." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "from memory import OwnedPointer, Pointer\n", "\n", - "Ideally the returned reference's `lifetime` would be linked to the individual\n", - "list item, rather than the list itself. Mojo doesn't yet have a mechanism to \n", - "express this relationship.\n", + "struct BoxedString:\n", + " var box: OwnedPointer[String]\n", "\n", - ":::\n", + " fn __init__(inout self, value: String):\n", + " self.box = OwnedPointer(value)\n", "\n", - "#### Inferred lifetimes\n", + " fn as_ptr(self) -> Pointer[String, __origin_of(self.box)]:\n", + " return Pointer.address_of(self.box[])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Inferred origins\n", "\n", - "The other common way to access a lifetime value is to _infer_ it from the\n", + "The other common way to access an origin value is to _infer_ it from the\n", "the arguments passed to a function or method. For example, the `Span` type\n", - "has an associated `lifetime`:\n", + "has an associated `origin`:\n", "\n", "```mojo\n", "struct Span[\n", " is_mutable: Bool, //,\n", " T: CollectionElement,\n", - " lifetime: AnyLifetime[is_mutable].type,\n", + " origin: Origin[is_mutable].type,\n", "](CollectionElementNew):\n", " \"\"\"A non owning view of contiguous data.\n", "```\n", "\n", "One of its constructors creates a `Span` from an existing `List`, and infers\n", - "its `lifetime` value from the list:\n", + "its `origin` value from the list:\n", "\n", "```mojo\n", - " fn __init__(inout self, ref [lifetime]list: List[T, *_]):\n", + " fn __init__(inout self, ref [origin]list: List[T, *_]):\n", " \"\"\"Construct a Span from a List.\n", "\n", " Args:\n", @@ -265,7 +267,13 @@ " \"\"\"\n", " self._data = list.data\n", " self._len = len(list)\n", - "```\n", + "```\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ "\n", "## Working with references\n", "\n", @@ -273,12 +281,11 @@ "reference with parametric mutability. That is, they can be either mutable or \n", "immutable.\n", "\n", - "These references shouldn't be confused with the `Reference` type, which is\n", - "basically a safe pointer type. A `Reference` needs to be dereferenced, like a \n", - "pointer, to access the underlying value. A `ref` argument, on the other hand,\n", - "looks like a `borrowed` or `inout` argument inside the function. A `ref` return\n", - "value looks like any other return value to the calling function, but it is a\n", - "_reference_ to an existing value, not a copy.\n", + "From inside the called function, a `ref` argument looks like a `borrowed` or\n", + "`inout` argument. \n", + "\n", + "A `ref` return value looks like any other return value to the calling function,\n", + "but it is a _reference_ to an existing value, not a copy.\n", "\n", "### `ref` arguments\n", "\n", @@ -298,35 +305,41 @@ "\n", "The syntax for a `ref` argument is:\n", "\n", - "ref [origin] argName: argType\n", + "ref [origin_specifier] arg_name: arg_type\n", "\n", - "The `lifetime` parameter passed inside the square brackets can be replaced with\n", - "an underscore character (`_`) to indicate that the parameter is _unbound_. Think\n", - "of it as a wildcard that will accept any lifetime:" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [], - "source": [ - "def add_ref(ref [_] a: Int, b: Int) -> Int:\n", - " return a+b" + "The origin specifier passed inside the square brackets can be either:\n", + "\n", + "- An origin value.\n", + "- An arbitrary expression, which is treated as shorthand for \n", + " `__origin_of(expression)`. In other words, the following declarations are\n", + " equivalent:\n", + "\n", + " ```mojo\n", + " ref [__origin_of(self)]\n", + " ref [self]\n", + " ```\n", + " \n", + "- An underscore character (`_`) to indicate that the origin is _unbound_. You\n", + " can think of the underscore as a wildcard that will accept any origin:\n", + "\n", + " ```mojo\n", + " def add_ref(ref [_] a: Int, b: Int) -> Int:\n", + " return a+b\n", + " ```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "You can also name the lifetime explicitly. This is useful if you want to specify\n", - "an `ImmutableLifetime` or `MutableLifetime`, or if you want to bind to\n", + "You can also name the origin explicitly. This is useful if you want to specify\n", + "an `ImmutableOrigin` or `MutableLOrigin`, or if you want to bind to\n", "the `is_mutable` parameter." ] }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -341,8 +354,8 @@ "source": [ "def take_str_ref[\n", " is_mutable: Bool, //,\n", - " life: AnyLifetime[is_mutable].type\n", - " ](ref [life] s: String):\n", + " origin: Origin[is_mutable].type\n", + " ](ref [origin] s: String):\n", " @parameter\n", " if is_mutable:\n", " print(\"Mutable: \" + s)\n", @@ -383,17 +396,17 @@ "- The mutable reference is more efficient—a single update isn't broken up across\n", " two methods. However, the referenced value must be in memory.\n", " \n", - "- A `__getitem__()`/`__setitem__()` pair allows for arbitrary to be run when\n", - " values are retrieved and set. For example, `__setitem__()` can validate or \n", - " constrain input values.\n", + "- A `__getitem__()`/`__setitem__()` pair allows for arbitrary code to be run \n", + " when values are retrieved and set. For example, `__setitem__()` can validate\n", + " or constrain input values.\n", "\n", - "For example, in the following example, `NameList` has a `get()` method\n", + "For example, in the following example, `NameList` has a `__getitem__()` method\n", "that returns a reference: " ] }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -415,7 +428,7 @@ " self.names.append(name[])\n", "\n", " def __getitem__(ref [_] self: Self, index: Int) ->\n", - " ref [self] String:\n", + " ref [self.names] String:\n", " if (index >=0 and index < len(self.names)):\n", " return self.names[index]\n", " else:\n", @@ -446,31 +459,43 @@ "\n", "```mojo\n", "name = list[2]\n", + "name += \"?\"\n", "```\n", "\n", "Since a variable needs to own its value, `name` would end up with an owned \n", - "_copy_ of the value that `list[2]` returns. Mojo doesn't currently have \n", + "_copy_ of the referenced value. Mojo doesn't currently have \n", "syntax to express that you want to keep the original reference in `name`. This\n", "will be added in a future release.\n", "\n", - "In cases where you need to be able to assign the return value to a variable—for\n", - "example, an iterator which will be used in a `for..in` loop—you might consider \n", - "returning a `Reference` instead of a `ref` return value. For example, see the \n", - "[iterator for the `List` \n", - "type](https://github.com/modularml/mojo/blob/main/stdlib/src/collections/list.mojo#L60).\n", - "You can assign a `Reference` to a variable, but you need to use the dereference\n", - "operator (`[]`) to access the underlying value." + "If you're working with an API that returns a reference, and you want to avoid\n", + "copying the referenced value, you can use a\n", + "[`Pointer`](/mojo/stdlib/memory/reference/Pointer) to hold an indirect reference.\n", + "You can assign a `Pointer` to a variable, but you need to use the dereference\n", + "operator (`[]`) to access the underlying value.\n", + "\n", + "```mojo\n", + "name_ptr = Pointer.address_of(list[2])\n", + "name_ptr[] += \"?\"\n", + "```\n", + "\n", + "Similarly, when designing an API you might want to return a `Pointer` instead of\n", + "a `ref` to allow users to assign the return value to a variable. For example, \n", + "iterators for the standard library collections return pointers, so they can be\n", + "used in `for..in` loops:" ] }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ + "1\n", + "2\n", + "3\n", "1\n", "2\n", "3\n" @@ -479,8 +504,19 @@ ], "source": [ "nums = List(1, 2, 3)\n", - "for item in nums: # List iterator returns a Reference\n", - " print(item[])\n" + "for item in nums: # List iterator returns a Pointer, which must be dereferenced\n", + " print(item[])\n", + "for i in range(len(nums)):\n", + " print(nums[i]) # List __getitem__() returns a ref" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "(You can find the code for the \n", + "`List` iterator in the [Mojo\n", + "repo](https://github.com/modularml/mojo/blob/main/stdlib/src/collections/list.mojo#L63).)\n" ] }, { @@ -498,7 +534,7 @@ " ref [self] String:\n", "```\n", "\n", - "Since the `lifetime` of the return value is tied to the lifetime of `self`, the\n", + "Since the `origin` of the return value is tied to the origin of `self`, the\n", "returned reference will be mutable if the method was called using a\n", "mutable reference. The method still works if you have an immutable reference\n", "to the `NameList`, but it returns an immutable reference:" @@ -506,7 +542,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 34, "metadata": {}, "outputs": [ { diff --git a/docs/manual/values/ownership.ipynb b/docs/manual/values/ownership.ipynb index 4d9ffd533c..9601db72d2 100644 --- a/docs/manual/values/ownership.ipynb +++ b/docs/manual/values/ownership.ipynb @@ -39,6 +39,31 @@ "functions." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ownership summary\n", + "\n", + "The fundamental rules that make Mojo's ownership model work are the following:\n", + "\n", + "- Every value has only one owner at a time.\n", + "- When the lifetime of the owner ends, Mojo destroys the value.\n", + "- If there are outstanding references to a value, Mojo extends the lifetime of\n", + " the owner.\n", + "\n", + "### Variables and references \n", + "\n", + "A variable _owns_ its value. A struct owns its fields. \n", + "\n", + "A _reference_ allows you to access a value owned by another variable. A\n", + "reference can have either mutable access or immutable access to that value.\n", + "\n", + "Mojo references are created when you call a function: function arguments can be\n", + "passed as mutable or immutable references. A function can also return a\n", + "reference instead of returning a value." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -73,16 +98,17 @@ "- `inout`: The function receives a **mutable reference**. This means the\n", " function can read and mutate the original value (it is *not* a copy).\n", " \n", - "- `owned`: The function takes **ownership**. This means the function has\n", - " exclusive ownership of the argument. Often, this also implies that the caller\n", - " should transfer ownership to this function, but that's not always what\n", - " happens and this might instead be a copy (as you'll learn below).\n", - "\n", - "- `ref`: The function gets a reference with an associated lifetime. The\n", - " reference can be either mutable or immutable. You can think of `ref` arguments\n", - " as a generalization of the `borrowed` and `inout` conventions. `ref` arguments\n", - " are an advanced topic, and they're described in more detail in [Lifetimes and \n", - " references](/mojo/manual/values/lifetimes).\n", + "- `owned`: The function takes **ownership** of a value. This means the function\n", + " has exclusive ownership of the argument. The caller might choose to transfer\n", + " ownership of an existing value to this function, but that's not always what\n", + " happens. The callee might receive a newly-created value, or a copy of an\n", + " existing value. \n", + "\n", + "- `ref`: The function gets a reference with an parametric mutability: that is,\n", + " the reference can be either mutable or immutable. You can think of `ref` \n", + " arguments as a generalization of the `borrowed` and `inout` conventions. \n", + " `ref` arguments are an advanced topic, and they're described in more detail in\n", + " [Lifetimes and references](/mojo/manual/values/lifetimes).\n", "\n", "For example, this function has one argument that's a mutable\n", "reference and one that's immutable:" @@ -109,39 +135,7 @@ "metadata": {}, "source": [ "You've probably already seen some function arguments that don't declare a\n", - "convention. by default, all arguments are `borrowed`. But `def` and `fn` \n", - "functions treat `borrowed` arguments somewhat differently:\n", - "\n", - "\n", - "- In an [`fn` function](/mojo/manual/functions#fn-functions), the function\n", - " always receives an immutable reference. If you want a mutable copy, you can\n", - " assign it to a local variable:\n", - "\n", - " ```mojo\n", - " var my_copy = borrowed_arg\n", - " ```\n", - "\n", - "- In a [`def` function](/mojo/manual/functions#def-functions), if the \n", - " function mutates the value, the function receives a mutable copy of the \n", - " argument. Otherwise, it receives an immutable reference. This allows you to\n", - " treat arguments as mutable, but avoid the overhead of making extra copies when\n", - " they're not needed.\n", - "\n", - "The difference between `borrowed` and `owned` in a `def` function may be a\n", - "little subtle: \n", - "\n", - "- In a `def` function, a `borrowed` argument is received as an immutable\n", - " reference, unless it's mutated in the body of the function. This eliminates\n", - " unneeded copies, but maintains the Python expectation that arguments are \n", - " mutable.\n", - "\n", - "- The `borrowed` argument always gets an immutable reference or a local copy.\n", - " You can't transfer a value into a `borrowed` argument.\n", - "\n", - "- The `owned` argument always gets a uniquely owned value, which may have been\n", - " copied or transferred from the callee. Using `owned` arguments without the \n", - " transfer sigil (`^`) usually results in values being copied.\n", - "\n", + "convention. by default, all arguments are `borrowed`. \n", "In the following sections, we'll explain each of these argument conventions in\n", "more detail." ] @@ -150,51 +144,27 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Ownership summary\n", - "\n", - "The fundamental rules that make Mojo's ownership model work are the following:\n", - "\n", - "- Every value has only one owner at a time.\n", - "- When the lifetime of the owner ends, Mojo destroys the value.\n", - "- If there are outstanding references to a value, Mojo keeps the value alive.\n", - "\n", - "In the future, the Mojo lifetime checker will enforce reference exclusivity, so\n", - "that only one mutable reference to a value can exist at a time. **This is not\n", - "currently enforced.**\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Borrowed arguments (`borrowed`)\n", + "- In a [`def` function](/mojo/manual/functions#def-functions), if you mutate\n", + " the value in the body of the function, the function receives a mutable copy of\n", + " the argument. Otherwise, it receives an immutable reference. This allows you\n", + " to treat arguments as mutable, but avoid the overhead of making extra copies when\n", + " they're not needed.\n", "\n", - "The `borrowed` convention is the default for all arguments.\n", + "- In an [`fn` function](/mojo/manual/functions#fn-functions), the function\n", + " always receives an immutable reference. If you want a mutable copy, you can\n", + " assign it to a local variable:\n", "\n", - "In `fn` functions, a `borrowed` argument is received as an immutable reference.\n", + " ```mojo\n", + " var my_copy = borrowed_arg\n", + " ```\n", "\n", - "In `def` functions, you can treat a `borrowed` argument as mutable or immutable.\n", - "If you mutate the argument in the body of the function, you get a mutable copy\n", - "of the original value. If you don't mutate the argument, you get an immutable\n", - "reference, as in an `fn` function.\n", + "In both cases, the original value on the caller side can't be changed by the\n", + "callee.\n", "\n", "For example:" ] @@ -234,9 +204,6 @@ "when handling large or expensive-to-copy values, because the copy constructor\n", "and destructor are not invoked for a borrow.\n", "\n", - "To avoid expensive copies, types should only be implicitly copyable if the copy\n", - "operation is inexpensive.\n", - "\n", "### Compared to C++ and Rust\n", "\n", "Mojo's borrowed argument convention is similar in some ways to passing an\n", @@ -255,8 +222,6 @@ "when compared to languages like C++ and Rust, and moves this optimization from\n", "every call site to a declaration on the type definition.\n", "\n", - "In the future, Mojo's lifetime checker will enforce the exclusivity of\n", - "mutable references, similar to Rust.\n", "The major difference between Rust and Mojo is that Mojo does not require a\n", "sigil on the caller side to pass by borrow. Also, Mojo is more efficient when\n", "passing small values, and Rust defaults to moving values instead of passing\n", @@ -378,7 +343,7 @@ "fn invalid_access():\n", " var my_string = str(\"o\")\n", "\n", - " # warning: passing `my_string` inout is invalid since it is also passed\n", + " # error: passing `my_string` inout is invalid since it is also passed\n", " # borrowed.\n", " append_twice(my_string, my_string)\n", " print(my_string)\n", @@ -400,12 +365,10 @@ " print(my_string)\n", "```\n", "\n", - ":::note Only a warning\n", - "\n", - "Aliasing a mutable reference produces a warning in v24.5. This will change to an\n", - "error in a subsequent release.\n", - "\n", - ":::" + "Note that argument exclusivity isn't enforced for register-passable trivial\n", + "types (like `Int` and `Bool`), because they are always passed by copy. When\n", + "passing the same value into two `Int` arguments, the callee will receive two\n", + "copies of the value." ] }, { @@ -443,7 +406,7 @@ " def take(owned s: String):\n", " pass\n", "\n", - " take(str(\"A brand-new String!\"))\n", + " take(String(\"A brand-new String!\"))\n", " ```\n", "\n" ] @@ -573,6 +536,24 @@ ":::" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Borrowed versus owned in `def` functions\n", + "\n", + "The difference between `borrowed` and `owned` in a `def` function may be a\n", + "little subtle. In both cases, you can end up with a uniquely-owned value that's\n", + "a copy of the original value.\n", + "\n", + "- The `borrowed` argument always gets an immutable reference or a local copy.\n", + " You can't transfer a value into a `borrowed` argument.\n", + "\n", + "- The `owned` argument always gets a uniquely owned value, which may have been\n", + " copied or transferred from the callee. Using `owned` arguments without the \n", + " transfer sigil (`^`) usually results in values being copied." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -589,7 +570,7 @@ " `__moveinit__()`, Mojo may invoke this method _if_ a value of that type is\n", " transferred into a function as an `owned` argument, _and_ the original\n", " variable's lifetime ends at the same point (with or without use of the `^`\n", - " transfer operator).\n", + " transfer sigil).\n", "\n", "- If a type implements the [copy \n", " constructor](/mojo/manual/lifecycle/life#move-constructor), `__copyinit__()`\n", diff --git a/docs/manual/values/value-semantics.ipynb b/docs/manual/values/value-semantics.ipynb index fa8bf907d2..de3c812464 100644 --- a/docs/manual/values/value-semantics.ipynb +++ b/docs/manual/values/value-semantics.ipynb @@ -402,7 +402,7 @@ "\n", ":::note TODO\n", "\n", - "Mojo is not a complete superset of Python yet, and there is a lot to\n", + "Mojo does not adopt the full syntax of Python yet, and there is a lot to\n", "do in this department before Mojo supports all of Python's types and behaviors.\n", "As such, this is a topic that also still needs a lot of documentation.\n", "\n", diff --git a/docs/roadmap.md b/docs/roadmap.md index fff951648f..52a20d257b 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -77,8 +77,8 @@ For all these reasons, "nice to have" syntactic sugar is not a priority, and we will quickly close such proposals to avoid cluttering the issue tracker. If you'd like to propose a "general goodness" syntactic feature, please do so with the existing [Python PEP process](https://peps.python.org/pep-0000/). If/when -Python adopts a feature, Mojo will also add it, because Mojo's goal is to be a -superset. We are happy with this approach because the Python community is +Python adopts a feature, Mojo may also add it, because Mojo's goal is to adopt +Python's syntax. We are happy with this approach because the Python community is better equipped to evaluate these features, they have mature code bases to evaluate them with, and they have processes and infrastructure for making structured language evolution features. @@ -104,8 +104,9 @@ like: - Capture declarations in closures. - Lifetime checker: complain about invalid mutable references. +- Lifetime checker: enforce argument exclusivity for mutable references. -Mojo has support for a safe `Reference` type, and it is used in the standard +Mojo has support for a safe `Pointer` type, and it is used in the standard library, but it is still under active development and not very pretty or nice to use right now. @@ -379,73 +380,6 @@ Mojo currently supports similar functionality through the [`len()`](/mojo/stdlib/builtin/len/len) functions. We'll continue to add traits support to the standard library to enable common use cases like this. -### Parameter closure captures are unsafe references - -You may have seen nested functions, or "closures", annotated with the -`@parameter` decorator. This creates a "parameter closure", which behaves -differently than a normal "stateful" closure. A parameter closure declares a -compile-time value, similar to an `alias` declaration. That means parameter -closures can be passed as parameters: - -```mojo -fn take_func[f: fn() capturing -> Int](): - pass - -fn call_it(a: Int): - @parameter - fn inner() -> Int: - return a # capture 'a' - - take_func[inner]() # pass 'inner' as a parameter -``` - -Parameter closures can even be parametric and capturing: - -```mojo -fn take_func[f: fn[a: Int]() capturing -> Int](): - pass - -fn call_it(a: Int): - @parameter - fn inner[b: Int]() -> Int: - return a + b # capture 'a' - - take_func[inner]() # pass 'inner' as a parameter -``` - -However, note that parameter closures are always capture by *unsafe* reference. -Mojo's lifetime tracking is not yet sophisticated enough to form safe references -to objects (see above section). This means that variable lifetimes need to be -manually extended according to the lifetime of the parametric closure: - -```mojo -fn print_it[f: fn() capturing -> String](): - print(f()) - -fn call_it(): - var s: String = "hello world" - @parameter - fn inner() -> String: - return s # 's' captured by reference, so a copy is made here - # lifetime tracker destroys 's' here - - print_it[inner]() # crash! 's' has been destroyed -``` - -The lifetime of the variable can be manually extended by discarding it -explicitly. - -```mojo -fn call_it(): - var s: String = "hello world" - @parameter - fn inner() -> String: - return s - - print_it[inner]() - _ = s^ # discard 's' explicitly -``` - ### The standard library has limited exceptions use For historic and performance reasons, core standard library types typically do diff --git a/docs/why-mojo.md b/docs/why-mojo.md index 6b89d1e946..5ecea74bb1 100644 --- a/docs/why-mojo.md +++ b/docs/why-mojo.md @@ -80,8 +80,8 @@ features. We also benefit from tremendous lessons learned from other languages migrating developers to new compilers and languages, and we leverage the existing MLIR compiler ecosystem. -Further, we decided that the right _long-term goal_ for Mojo is to provide a -**superset of Python** (that is, to make Mojo compatible with existing Python +Further, we decided that the right _long-term goal_ for Mojo is to adopt the +**syntax of Python** (that is, to make Mojo compatible with existing Python programs) and to embrace the CPython implementation for long-tail ecosystem support. If you're a Python programmer, we hope that Mojo is immediately familiar, while also providing new tools to develop safe and performant @@ -197,8 +197,8 @@ interpreter in Mojo instead of C? 🔥 ## Python's problems -By aiming to make Mojo a superset of Python, we believe we can solve many of -Python's existing problems. +By aiming to make Mojo the best way to extend Python, we believe we can solve +many of Python's existing problems. Python has some well-known problems—most obviously, poor low-level performance and CPython implementation details like the global interpreter lock (GIL), @@ -327,17 +327,17 @@ use-cases of Python, they cannot solve the "two world problem." This approach drives fragmentation, and incompatibility makes _migration_ difficult to impossible—recall how challenging it was to migrate from Python 2 to Python 3. -### Python supersets with C compatibility +### Python family languages with C compatibility -Because Mojo is designed to be a superset of Python with improved systems -programming capabilities, it shares some high-level ideas with other Python -supersets like [Pyrex](https://wiki.python.org/moin/Pyrex) and -[Cython](https://cython.org/). Like Mojo, these projects define their own -language that also support the Python language. They allow you to write more +Because Mojo is designed to adopt the syntax of Python with improved systems +programming capabilities, it shares some high-level ideas with other members of +the Python family of languages like [Pyrex](https://wiki.python.org/moin/Pyrex) +and [Cython](https://cython.org/). Like Mojo, these projects define their own +language while also supporting the Python language. They allow you to write more performant extensions for Python that interoperate with both Python and C libraries. -These Python supersets are great for some kinds of applications, and they've +These Python family languages are great for some kinds of applications, and they've been applied to great effect by some popular Python libraries. However, they don't solve [Python's two-world problem](#the-two-world-problem) and because they rely on CPython for their core semantics, they can't work without it, diff --git a/examples/.gitignore b/examples/.gitignore index 79d5db1e7f..aa90b40800 100644 --- a/examples/.gitignore +++ b/examples/.gitignore @@ -4,4 +4,3 @@ pixi.lock # Magic env .magic/ -magic.lock diff --git a/examples/magic.lock b/examples/magic.lock new file mode 100644 index 0000000000..1e8d510a5f --- /dev/null +++ b/examples/magic.lock @@ -0,0 +1,8262 @@ +version: 5 +environments: + default: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.modular.com/max-nightly/ + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.10.10-py311h2dc5d0c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.31-he1a10d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.7.4-hae4d56a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.29-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.19-h2bff981_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.4.3-h19b0707_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.8.10-h14a7884_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.14.19-hc9e6898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.10.7-hb8d5873_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.6.7-h666547d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.19-h2bff981_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.20-h2bff981_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.28.3-hbe26082_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.407-h25d6d5c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.13.0-h935415a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.8.0-hd126650_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.12.0-hd2e3451_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.7.0-h10ac4d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.11.0-h325d260_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py311hfdbb021_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.2-heb4867d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py311hf29c0ef_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.5.0-py311h9ecbd09_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.6.1-py311h9ecbd09_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_he02047a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-17.0.0-had3b6fe_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-17.0.0-h5888daf_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-17.0.0-h5888daf_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-17.0.0-hf54134d_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.10.1-hbbe4b11_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h77fa898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hd5240d6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h77fa898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.29.0-h435de7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.29.0-h0121fbd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-17.0.0-h39682fd_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.3-hd5b35b9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2023.09.01-h5a48ba9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.20.0-h0e7cc3e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.8.0-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.4-h064dc61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py311h2dc5d0c_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-64/max-python-24.6.0.dev2024110605-3.11release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.1.0-py311h2dc5d0c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multiprocess-0.70.15-py311h459d7ec_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py311h64a7726_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.0.2-h669347b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.3-py311h7db5c69_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.2.0-py311h9ecbd09_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py311hbffca5d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-17.0.0-py311hbd00459_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-17.0.0-py311h4854187_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.23.4-py311h9e33e62_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.10-hc5c86c4_3_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.5.0-py311h9ecbd09_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-5_cp311.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py311h9ecbd09_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.2.0-py311h7deb3e3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/regex-2024.9.11-py311h9ecbd09_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.5-h3931f03_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/safetensors-0.4.5-py311h9e33e62_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tokenizers-0.20.3-py311h182c674_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.1-py311h9ecbd09_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.21.0-py311h9ecbd09_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.24.0-py311h9e33e62_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.1-py311h9ecbd09_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py311h9ecbd09_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.2-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.16.0-py311h9ecbd09_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py311hbc35293_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda + linux-aarch64: + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aiohttp-3.10.10-py311h58d527c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-auth-0.7.31-h8fa6c3f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-cal-0.7.4-h3a42a84_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-common-0.9.29-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-compression-0.2.19-ha24d3e7_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-event-stream-0.4.3-h34ad692_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-http-0.8.10-h1e1d171_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-io-0.14.19-h9f8f545_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-mqtt-0.10.7-had41049_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-s3-0.6.7-h598b0a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-sdkutils-0.1.19-ha24d3e7_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-checksums-0.1.20-ha24d3e7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-crt-cpp-0.28.3-hcc2993b_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-sdk-cpp-1.11.407-hf265f57_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-core-cpp-1.13.0-h60f91e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-identity-cpp-1.8.0-hf0f394c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-blobs-cpp-12.12.0-h17ca4bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-common-cpp-12.7.0-h68dbd84_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-files-datalake-cpp-12.11.0-h36e5eb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.1.0-py311h89d996e_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.2-ha64f414_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2024.8.30-hcefe29a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-1.17.1-py311h14e8bb7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/frozenlist-1.5.0-py311ha879c10_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gflags-2.2.2-h5ad3122_1005.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glog-0.7.1-h468a4a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/httptools-0.6.1-py311ha879c10_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.1-h4e544f5_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.21.3-h50a48e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.43-h80caac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20240116.2-cxx17_h0a1ffab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-17.0.0-hccffc7f_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-acero-17.0.0-h5ad3122_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-dataset-17.0.0-h5ad3122_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-substrait-17.0.0-h08b7278_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcrc32c-1.1.2-h01db608_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.10.1-h3ec0cbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h31becfc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.6.3-h5ad3122_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.4.2-h3557bc0_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-14.2.0-he9431aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-14.2.0-hb6113d0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-2.29.0-hbb89541_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-storage-2.29.0-hb9b2b65_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgrpc-1.62.2-h98a9317_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.17-h31becfc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.64.0-hc8609a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.28-pthreads_h9d3fd7e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libparquet-17.0.0-h501616e_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-4.25.3-hea2c3fa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libre2-11-2023.09.01-h9d008c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.20-h68df207_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.47.0-hc4a20ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.0-h492db2e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-14.2.0-h3f4de04_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-14.2.0-hf1166c9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libthrift-0.20.0-h154c74f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libutf8proc-2.8.0-h4e544f5_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.38.1-hb4cce97_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.49.2-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.13.4-hf4efe5d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.9.4-hd600fc2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.2-py311ha09ea12_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-aarch64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-aarch64/max-python-24.6.0.dev2024110605-3.11release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/multidict-6.1.0-py311h58d527c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/multiprocess-0.70.15-py311hcd402e7_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-hcccb83c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.26.4-py311h69ead2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.3.2-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/orc-2.0.2-h383807c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pandas-2.2.3-py311h848c333_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/propcache-0.2.0-py311ha879c10_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/protobuf-4.25.3-py311h943de5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-17.0.0-py311h58b41f2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-core-17.0.0-py311ha6d2531_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.23.4-py311h0ca61a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.11.10-h5d932e8_3_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-xxhash-3.5.0-py311h5487e9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python_abi-3.11-5_cp311.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.2-py311ha879c10_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-26.2.0-py311h826da9f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/re2-2023.09.01-h9caee61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8fc344f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2024.9.11-py311ha879c10_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/s2n-1.5.5-hc6ade00_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/safetensors-0.4.5-py311h0ca61a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.1-h1088aeb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-h194ca79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tokenizers-0.20.3-py311h5e37e04_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.4.1-py311h5487e9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uvloop-0.21.0-py311ha879c10_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/watchfiles-0.24.0-py311h0ca61a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/websockets-13.1-py311ha879c10_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wrapt-1.16.0-py311ha879c10_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xxhash-0.8.2-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xz-5.2.6-h9cdd2b7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-hf897c2e_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yarl-1.16.0-py311ha879c10_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-h5efb499_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstandard-0.23.0-py311hd5293d8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.6-h02f22dd_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.10.10-py311h0ecf0c1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.7.31-h14f56dd_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.7.4-hd45b2be_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.9.29-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.2.19-hd45b2be_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.4.3-hdf5079d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.8.10-h4588aaf_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.14.19-h5ad5fc2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.10.7-hbe077eb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.6.7-h86d2b7d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.1.19-hd45b2be_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.1.20-hd45b2be_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.28.3-h4f9f7e0_8.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.407-h880863c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.13.0-hd01fc5c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.8.0-h13ea094_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.12.0-hfde595f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.7.0-hcf3b6fd_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.11.0-h082e32e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py311h3f08180_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.2-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py311h3a79f62_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.5.0-py311hae2e1ce_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/httptools-0.6.1-py311h460d6c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20240116.2-cxx17_h00cdb27_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-17.0.0-hc6a7651_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-17.0.0-hf9b8971_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-17.0.0-hf9b8971_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-17.0.0-hbf8b706_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.10.1-h13a7ad3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20191231-hc8eb9b7_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.29.0-hfa33a2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.29.0-h90fd6fa_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.62.2-h9c18a4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-17.0.0-hf0ba9ef_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-4.25.3-hc39d83c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2023.09.01-h7b2c953_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.20-h99b78c6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.0-h7a5bd25_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.20.0-h64651cc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.8.0-h1a8c8d9_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.49.2-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.4-h8424949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.9.4-hb7217d7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py311h56c23cb_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/osx-arm64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/osx-arm64/max-python-24.6.0.dev2024110605-3.11release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.1.0-py311h30e7462_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multiprocess-0.70.15-py311heffc1b2_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py311h7125741_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.0.2-h75dedd0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.2.3-py311h9cb3ce9_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.2.0-py311h460d6c5_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-4.25.3-py311hd7a3543_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-17.0.0-py311h35c05fe_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-17.0.0-py311he04fa90_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.23.4-py311h481aa64_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.11.10-hc51fdd5_3_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-xxhash-3.5.0-py311h460d6c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.11-5_cp311.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py311h460d6c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-26.2.0-py311h730b646_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2023.09.01-h4cba328_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/regex-2024.9.11-py311h460d6c5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/safetensors-0.4.5-py311h481aa64_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-hd02b534_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tokenizers-0.20.3-py311h82b0fb8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.1-py311h460d6c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uvloop-0.21.0-py311hae2e1ce_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchfiles-0.24.0-py311h481aa64_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-13.1-py311h460d6c5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.16.0-py311h460d6c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xxhash-0.8.2-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.16.0-py311hae2e1ce_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h9f5b81c_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py311ha60cc69_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda +packages: +- kind: conda + name: _libgcc_mutex + version: '0.1' + build: conda_forge + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + md5: d7c89558ba9fa0495403155b64376d81 + license: None + size: 2562 + timestamp: 1578324546067 +- kind: conda + name: _openmp_mutex + version: '4.5' + build: 2_gnu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + md5: 73aaf86a425cc6e73fcf236a5a46396d + depends: + - _libgcc_mutex 0.1 conda_forge + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23621 + timestamp: 1650670423406 +- kind: conda + name: _openmp_mutex + version: '4.5' + build: 2_gnu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 + sha256: 3702bef2f0a4d38bd8288bbe54aace623602a1343c2cfbefd3fa188e015bebf0 + md5: 6168d71addc746e8f2b8d57dfd2edcea + depends: + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23712 + timestamp: 1650670790230 +- kind: conda + name: aiohappyeyeballs + version: 2.4.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + sha256: cfa5bed6ad8d00c2bc2c6ccf115e91ef1a9981b73c68537b247f1a964a841cac + md5: ec763b0a58960558ca0ad7255a51a237 + depends: + - python >=3.8.0 + license: PSF-2.0 + license_family: PSF + size: 19271 + timestamp: 1727779893392 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py311h0ecf0c1_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.10.10-py311h0ecf0c1_0.conda + sha256: e46f6321ee323c45c7ffc85388b54670f85fe3ce5f51c365702d4251beba2635 + md5: c0a9c1e0fdae8eabae8bc31aca207315 + depends: + - __osx >=11.0 + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 812361 + timestamp: 1728629264152 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py311h2dc5d0c_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.10.10-py311h2dc5d0c_0.conda + sha256: 2cb730af6dc5f2137e28f2b5008cfd16869ac1b69d37be10fac1f238a8f8620f + md5: 4f0fa0019a6e7be77db3609a707a4581 + depends: + - __glibc >=2.17,<3.0.a0 + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=13 + - multidict >=4.5,<7.0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 842364 + timestamp: 1728629173688 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py311h58d527c_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aiohttp-3.10.10-py311h58d527c_0.conda + sha256: 9cd437ea5068d0a75c24d1795fd4ec3d3fc4ffe5ffa1e0ebdf8d1642157119e2 + md5: 97cbdf919238d9998f8a23e792886db3 + depends: + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=13 + - multidict >=4.5,<7.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 837849 + timestamp: 1728629265570 +- kind: conda + name: aiosignal + version: 1.3.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + sha256: 575c742e14c86575986dc867463582a970463da50b77264cdf54df74f5563783 + md5: d1e1eb7e21a9e2c74279d87dafb68156 + depends: + - frozenlist >=1.1.0 + - python >=3.7 + license: Apache-2.0 + license_family: APACHE + size: 12730 + timestamp: 1667935912504 +- kind: conda + name: annotated-types + version: 0.7.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + sha256: 668f0825b6c18e4012ca24a0070562b6ec801ebc7008228a428eb52b4038873f + md5: 7e9f4612544c8edbfd6afad17f1bd045 + depends: + - python >=3.7 + - typing-extensions >=4.0.0 + license: MIT + license_family: MIT + size: 18235 + timestamp: 1716290348421 +- kind: conda + name: anyio + version: 4.6.2.post1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + sha256: 4b54b7ce79d818e3cce54ae4d552dba51b7afac160ceecdefd04b3917a37c502 + md5: 688697ec5e9588bdded167d19577625b + depends: + - exceptiongroup >=1.0.2 + - idna >=2.8 + - python >=3.9 + - sniffio >=1.1 + - typing_extensions >=4.1 + constrains: + - uvloop >=0.21.0b1 + - trio >=0.26.1 + license: MIT + license_family: MIT + size: 109864 + timestamp: 1728935803440 +- kind: conda + name: attrs + version: 24.2.0 + build: pyh71513ae_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + sha256: 28dba85a7e0f7fb57d7315e13f603d1e41b83c5b88aa2a602596b52c833a2ff8 + md5: 6732fa52eb8e66e5afeb32db8701a791 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 56048 + timestamp: 1722977241383 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: h14f56dd_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.7.31-h14f56dd_2.conda + sha256: 7ec650c52962f62e141d5c8ac018befd9a0c50eef1c951cba11089cadd90e703 + md5: 85a9125cf9705e4c7a829a829af6744b + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 92624 + timestamp: 1728796392911 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: h8fa6c3f_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-auth-0.7.31-h8fa6c3f_2.conda + sha256: 1420263c333ed29b89f37d0b9f9665eb02f3a23a50f9fe3ef787a30726168711 + md5: a7549b69ce1339ab4702c10cc213c01d + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 112059 + timestamp: 1728796399534 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: he1a10d6_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.31-he1a10d6_2.conda + sha256: 83fa4b24101cd85da825dcbb7611390c2a6e31a3fc17abb4d1ee5b8c40bdaa5a + md5: 76550a294cc78aaccfca7824bb4814ce + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 107301 + timestamp: 1728796325782 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: h3a42a84_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-cal-0.7.4-h3a42a84_2.conda + sha256: 5a0825bf3f2e89458088eb83f2e6e3eed0f3b9711963f6bf45cea9ed699a5611 + md5: 4c4096ea8a644e837e3d8576bf6d2ba9 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 49479 + timestamp: 1728755609823 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: hae4d56a_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.7.4-hae4d56a_2.conda + sha256: 4bfed63898a1697364ce9621e1fc09c98f143777b0ca60655eb812efa5bf246d + md5: cdc628e4ffb4ffcd476e3847267e1689 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 47181 + timestamp: 1728755555430 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: hd45b2be_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.7.4-hd45b2be_2.conda + sha256: d701872d79184dbb759aa033e6a6e4ec5c6f1b58e3255e53b756d0246d19986a + md5: de4bf687ac70a2b861a94b87164669c9 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 39794 + timestamp: 1728755626145 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.9.29-h7ab814d_0.conda + sha256: 8d2c330f0de571f1bf6f2db7650a1aa8c4060a2ccd25b48f392a4d3ea8222daa + md5: d4a90d217342b08daa7e80049fdaa6c9 + depends: + - __osx >=11.0 + license: Apache-2.0 + license_family: Apache + size: 220687 + timestamp: 1728706817796 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-common-0.9.29-h86ecc28_0.conda + sha256: f79b28d046aa448016ef4ddade430cfbfa3802813b6be04c97abb531edef05a2 + md5: f1fef7581dd3389ca7a3545e50bfcc7f + depends: + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 258186 + timestamp: 1728706827519 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.29-hb9d3cd8_0.conda + sha256: b3b50f518e9afad383f6851bf7000cf8b343d7d3ca71558df233ee7b4bfc2919 + md5: acc51b49fd7467c8dfe4343001b812b4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 237231 + timestamp: 1728706773555 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: h2bff981_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.19-h2bff981_2.conda + sha256: 908a416ff3f62b09bed436e1f77418f54115412244734d3960b11d586dd0749f + md5: 87a059d4d2ab89409496416119dd7152 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 18983 + timestamp: 1728750679322 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: ha24d3e7_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-compression-0.2.19-ha24d3e7_2.conda + sha256: 5c8abfbe725f7b646223a64b9446fc3305f66da75d27f199a3347ca1d9ea5671 + md5: a8162788a62f2568587b20646f2eacea + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 19862 + timestamp: 1728750729312 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: hd45b2be_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.2.19-hd45b2be_2.conda + sha256: 86900c68f95a2ca79cb9bcb8a3e8fd0a7912cfa3754a6a1e6b78d35c0b8db58b + md5: 9c634af661f50e923419e0df92633d31 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 18065 + timestamp: 1728750721405 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: h19b0707_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.4.3-h19b0707_4.conda + sha256: 951f96eb45a439a36935dc2099e10c902518ec511a287c1685ca65a88a9accaa + md5: df38f56123f30d61de24474e600e7d41 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 53821 + timestamp: 1728792746255 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: h34ad692_4 + build_number: 4 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-event-stream-0.4.3-h34ad692_4.conda + sha256: 20fb76e0740a403ef8e7bbf655482699612b9a6a25df15ff9f14caad511e79c9 + md5: 8d66cac131dd88ef8b81299e8b5818f8 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 55018 + timestamp: 1728792897824 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: hdf5079d_4 + build_number: 4 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.4.3-hdf5079d_4.conda + sha256: 6976ea97bf8c79114da3026a9d46b717131e2445be01f244718a426ad4b587f2 + md5: d89057a51d66d9c0c907c3dfebf845eb + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + size: 46737 + timestamp: 1728792823021 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h14a7884_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.8.10-h14a7884_2.conda + sha256: 0561267292739a451d7d389f100330fefafb97859962f617cd5268c96400e3aa + md5: 6147c6b6cef67adcb85516f5cf775be7 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 197562 + timestamp: 1728792795954 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h1e1d171_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-http-0.8.10-h1e1d171_2.conda + sha256: bb6426db42f1804b52b83a736f6ad4c407e260a7da5b0fe586cbe18e71101dfb + md5: 20f29e7210c170cbc810f10d65f692aa + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 190604 + timestamp: 1728792811917 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h4588aaf_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.8.10-h4588aaf_2.conda + sha256: 0f422e1cb3ebfa4fbf316e0ee576ed8e8f96cd9890783a0d319366e7ad9ebca6 + md5: fd850cc4bc7af65f3b7e98324bda96fa + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 152421 + timestamp: 1728792977955 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: h5ad5fc2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.14.19-h5ad5fc2_1.conda + sha256: 0fcfbd9b46474b543d59183bedee08bf46d0f5167c95406b3b06ce922d6626c4 + md5: 463fae93275ddd0a6e2afb327b4d87e5 + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 137474 + timestamp: 1728770995104 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: h9f8f545_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-io-0.14.19-h9f8f545_1.conda + sha256: dea9075bd1fac65a0bbaacf038f8196892004da9c44c34d061b0d1eec81b9644 + md5: 46958359610629e7eea043a83f64540c + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - s2n >=1.5.5,<1.5.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 163350 + timestamp: 1728771046323 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: hc9e6898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.14.19-hc9e6898_1.conda + sha256: 35f9719fb9d5ddf4955a432d73d910261d60754d20b58de2be2701a2e68a9cfb + md5: ec84785f7ae14ed43156a54aec33bb14 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - s2n >=1.5.5,<1.5.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 158806 + timestamp: 1728770974012 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: had41049_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-mqtt-0.10.7-had41049_2.conda + sha256: 2c4065737a77f80fd475ea1979db046ca7d46dd35548d7c20be1521c7ac17eef + md5: 4f489845a24aa7d2c556b0fedfb7e0a3 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 169126 + timestamp: 1728797232432 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: hb8d5873_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.10.7-hb8d5873_2.conda + sha256: b30a3d8ba9352760c30f696b65486fe0e1d3cfe771f114b008a70ad440eb00c0 + md5: 8dc25ca24c1a50b8295a848c384ede99 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 195951 + timestamp: 1728797647791 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: hbe077eb_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.10.7-hbe077eb_2.conda + sha256: 376f757b460fc936da6b8159ef80ed5a51a23d2ba02e7834055a99616004d3bc + md5: 5013eaa8a8242355199a31e8973ff3f0 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 135058 + timestamp: 1728797199832 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h598b0a5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-s3-0.6.7-h598b0a5_0.conda + sha256: 93c43c3cee726280deaf44d52cc936f51b1c614bfaf600ffd5f002a6a6bb4bd7 + md5: 46860887427f76d0ff0824d987a7aee1 + depends: + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 117032 + timestamp: 1728967110055 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h666547d_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.6.7-h666547d_0.conda + sha256: fe006f58bd9349ab7cd4cd864dd4e83409e89764b10d9d7eb7ec148e2f964465 + md5: 7f59dcbbd4eab14ca9256f20b43849eb + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 113457 + timestamp: 1728967087200 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h86d2b7d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.6.7-h86d2b7d_0.conda + sha256: 4691154b75d85039da165b01bd25a2dce99f40b8a635fa9537a36a45dcc3e236 + md5: 851d2b927ba01ac963ffbc1868e971a3 + depends: + - __osx >=11.0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + license: Apache-2.0 + license_family: Apache + size: 96707 + timestamp: 1728967262718 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: h2bff981_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.19-h2bff981_4.conda + sha256: ef65ca9eb9f32ada6fb1b47759374e7ef4f85db002f2265ebc8fd61718284cbc + md5: 5a8afd37e2dfe464d68e63d1c38b08c5 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 55957 + timestamp: 1728755888042 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: ha24d3e7_4 + build_number: 4 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-sdkutils-0.1.19-ha24d3e7_4.conda + sha256: 2bec8bd76145f72c89068fb30d60353e6c71a4bb32e13eb543d9d04d6ea0ae9b + md5: 33e7e774771d00b2933443c3954796ea + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 58640 + timestamp: 1728755998456 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: hd45b2be_4 + build_number: 4 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.1.19-hd45b2be_4.conda + sha256: cc374eef1b367fb9acc83b2e74830f62742d3e53e1f0f6a0d01939b16ed1e3d5 + md5: 7ccdd0f21ffbc77b11963f00892ca8b5 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 49543 + timestamp: 1728755942076 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: h2bff981_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.20-h2bff981_1.conda + sha256: e1793f2e52fe04ef3a6b2069abda7960d061c6f7af1f0d5f616d43e7a7c40e3c + md5: 8b424cf6b3cfc5cffe98bf4d16c032fb + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 72862 + timestamp: 1728750748391 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: ha24d3e7_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-checksums-0.1.20-ha24d3e7_1.conda + sha256: f59c33d71fe4dad1099d9124f471ff9c9e06a51d43578aeb2740c8416dc03540 + md5: 592f2d2e8bc10e60e0d0cf0a737b5da8 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 72491 + timestamp: 1728750762489 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: hd45b2be_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.1.20-hd45b2be_1.conda + sha256: d935ca7faa780cfa1053fe1bffb77611a54b4df791897a22048e770b250c651f + md5: ab0b68aafe787311cb8397fd2e60982d + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 70087 + timestamp: 1728750818479 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: h4f9f7e0_8 + build_number: 8 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.28.3-h4f9f7e0_8.conda + sha256: 98cbed635af4841186aa3261e6ceadd03822983d6e30f0afa5d34eb452b2b509 + md5: 14af6354d5437421793e17e865301371 + depends: + - __osx >=11.0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + size: 229980 + timestamp: 1729181342157 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: hbe26082_8 + build_number: 8 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.28.3-hbe26082_8.conda + sha256: a9c23a685929b24fcd032daae36b61c4862912abf0a0a8735aeef53418c5bce6 + md5: 80d5fac04be0e6c2774f57eb7529f145 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 349632 + timestamp: 1729181229435 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: hcc2993b_8 + build_number: 8 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-crt-cpp-0.28.3-hcc2993b_8.conda + sha256: 3b5779785c8700e73be97f63ea778b6dba033a49fd77569c5fddbdd3a53a2600 + md5: e71043206d9db242eae53b70773f7f62 + depends: + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 276668 + timestamp: 1729181269528 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: h25d6d5c_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.407-h25d6d5c_1.conda + sha256: f05d43f3204887cec9a9853a9217f06562b28161950b5485aed1f8afe42aad17 + md5: 0f2bd0128d59a45c9fd56151eab0b37e + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2931742 + timestamp: 1729235000691 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: h880863c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.407-h880863c_1.conda + sha256: 9cea713c0d727def94e29a99cdfe1deb65c241c90bc41c96e1e77777cb84d4c9 + md5: 60877ad5c76505fa4b90ab5567babb3d + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libcxx >=17 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2709553 + timestamp: 1729235667236 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: hf265f57_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-sdk-cpp-1.11.407-hf265f57_1.conda + sha256: d265e7a2af974f09ba795a900900e36e44e581b3adc7e827ddfd2374337ea89c + md5: 63a6b060807c6885d25f82615d5bd8f2 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2758696 + timestamp: 1729234995101 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: h60f91e5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-core-cpp-1.13.0-h60f91e5_0.conda + sha256: b3aecc4e01db67a18891e6e9517ec9b628577bbd2e1b6616d147c7c5f2f28a2b + md5: fc41d5a9f2c98fd37324c20f47b0124b + depends: + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 331714 + timestamp: 1720854524500 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: h935415a_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.13.0-h935415a_0.conda + sha256: b7e0a22295db2e1955f89c69cefc32810309b3af66df986d9fb75d89f98a80f7 + md5: debd1677c2fea41eb2233a260f48a298 + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 338134 + timestamp: 1720853194547 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: hd01fc5c_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.13.0-hd01fc5c_0.conda + sha256: aff4af38416cf7a81c79e5a3b071ce5aa13ec48da28db0312bc1ebe62cf7273d + md5: 2083f6313e623079db6ee67af00e6b27 + depends: + - __osx >=11.0 + - libcurl >=8.8.0,<9.0a0 + - libcxx >=16 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 287922 + timestamp: 1720853302106 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: h13ea094_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.8.0-h13ea094_2.conda + sha256: 11b01715cae19390890f29ebb56d36d895feafd787ba929aa10b6ce712f3f4b9 + md5: 383b72f2ee009992b21f4db08a708510 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libcxx >=16 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 142135 + timestamp: 1721777696118 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: hd126650_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.8.0-hd126650_2.conda + sha256: f85452eca3ae0e156b1d1a321a1a9f4f58d44ff45236c0d8602ab96aaad3c6ba + md5: 36df3cf05459de5d0a41c77c4329634b + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 199516 + timestamp: 1721777604325 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: hf0f394c_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-identity-cpp-1.8.0-hf0f394c_2.conda + sha256: ac143df6b8596eeee2f770f02013e384f06ac09ecee042ee7f8c5a65f7958330 + md5: 3e74c83218d71b01f988e6bada2f4e22 + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 182768 + timestamp: 1721779454639 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: h17ca4bd_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-blobs-cpp-12.12.0-h17ca4bd_0.conda + sha256: 4955de4131a1b4a16ac1f63d3e6f325904b997e1adb0f3fadf5a3b112eee6803 + md5: 9a26fea6b69f4f02689893366961be49 + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 473009 + timestamp: 1721866393941 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: hd2e3451_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.12.0-hd2e3451_0.conda + sha256: 69a0f5c2a08a1a40524b343060debb8d92295e2cc5805c3db56dad7a41246a93 + md5: 61f1c193452f0daa582f39634627ea33 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 523120 + timestamp: 1721865032339 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: hfde595f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.12.0-hfde595f_0.conda + sha256: f733f4acedd8bf1705c780e0828f0b83242ae7e72963aef60d12a7c5b3a8640d + md5: f2c935764fdacd0fafc05f975fd347e0 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libcxx >=16 + license: MIT + license_family: MIT + size: 419976 + timestamp: 1721865180569 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: h10ac4d7_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.7.0-h10ac4d7_1.conda + sha256: 1030fa54497a73eb78c509d451f25701e2e781dc182e7647f55719f1e1f9bee8 + md5: ab6d507ad16dbe2157920451d662e4a1 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 143039 + timestamp: 1721832724803 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: h68dbd84_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-common-cpp-12.7.0-h68dbd84_1.conda + sha256: a4e0afd65ffed6cc788f13068b452d253e4bfa61d8ca0ebaa80e26fe62fed5f7 + md5: 368c9e33d8cc763bf883ca12c163b93c + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 135615 + timestamp: 1721834497638 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: hcf3b6fd_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.7.0-hcf3b6fd_1.conda + sha256: 3fdf9c0337c48706cffe2e4c761cdea4132fb6dbd1f144d969c28afd903cf256 + md5: df7e01bcf8f3a9bfb0ab06778f915f29 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libcxx >=16 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 119821 + timestamp: 1721832870493 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h082e32e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.11.0-h082e32e_1.conda + sha256: 3c288dc1ae6bff9a1e21ab5196d13ab486850f61ec649a743a87bf9726901abf + md5: 16b05d31f626717668f01c01a970115f + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libcxx >=16 + license: MIT + license_family: MIT + size: 189065 + timestamp: 1721925275724 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h325d260_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.11.0-h325d260_1.conda + sha256: 1726fa324bb402e52d63227d6cb3f849957cd6841f8cb8aed58bb0c81203befb + md5: 11d926d1f4a75a1b03d1c053ca20424b + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 274492 + timestamp: 1721925100762 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h36e5eb4_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-files-datalake-cpp-12.11.0-h36e5eb4_1.conda + sha256: ba0cf9514c12d9fa56a15966badaec450d11ab78adef690501e38bb0f78aeb5f + md5: db65bbb89c21436f5471f93b09a7c09c + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 243908 + timestamp: 1721926367577 +- kind: conda + name: backoff + version: 2.2.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + sha256: b1cf7df15741e5fbc57e22a3a89db427383335aaab22ddc1b30710deeb0130de + md5: 4600709bd85664d8606ae0c76642f8db + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 17501 + timestamp: 1665004860081 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py311h3f08180_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py311h3f08180_2.conda + sha256: f507d65e740777a629ceacb062c768829ab76fde01446b191699a734521ecaad + md5: c8793a23206344faa25f4e0b5d0e7908 + depends: + - __osx >=11.0 + - libcxx >=17 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 339584 + timestamp: 1725268241628 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py311h89d996e_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.1.0-py311h89d996e_2.conda + sha256: 8f299ccbda87e19f393bf9c01381415343650b06b9ef088dc2129ddcd48c05d4 + md5: c62b4c4d3eb1d13dfe16abbe648c28b7 + depends: + - libgcc >=13 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - libbrotlicommon 1.1.0 h86ecc28_2 + license: MIT + license_family: MIT + size: 356967 + timestamp: 1725268124383 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py311hfdbb021_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py311hfdbb021_2.conda + sha256: 949913bbd1f74d1af202d3e4bff2e0a4e792ec00271dc4dd08641d4221aa2e12 + md5: d21daab070d76490cb39a8f1d1729d79 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - libbrotlicommon 1.1.0 hb9d3cd8_2 + license: MIT + license_family: MIT + size: 350367 + timestamp: 1725267768486 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h4bc722e_7 + build_number: 7 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d + md5: 62ee74e96c5ebb0af99386de58cf9553 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: bzip2-1.0.6 + license_family: BSD + size: 252783 + timestamp: 1720974456583 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h68df207_7 + build_number: 7 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda + sha256: 2258b0b33e1cb3a9852d47557984abb6e7ea58e3d7f92706ec1f8e879290c4cb + md5: 56398c28220513b9ea13d7b450acfb20 + depends: + - libgcc-ng >=12 + license: bzip2-1.0.6 + license_family: BSD + size: 189884 + timestamp: 1720974504976 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h99b78c6_7 + build_number: 7 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91 + md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab + depends: + - __osx >=11.0 + license: bzip2-1.0.6 + license_family: BSD + size: 122909 + timestamp: 1720974522888 +- kind: conda + name: c-ares + version: 1.34.2 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.2-h7ab814d_0.conda + sha256: 24d53d27397f9c2f0c168992690b5ec1bd62593fb4fc1f1e906ab91b10fd06c3 + md5: 8a8cfc11064b521bc54bd2d8591cb137 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 177487 + timestamp: 1729006763496 +- kind: conda + name: c-ares + version: 1.34.2 + build: ha64f414_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.2-ha64f414_0.conda + sha256: 06f67e6b2c18f1ff79391ffb032c752fcbbf754f6f6e7a786edde6cca1c92791 + md5: 588af5337614cece17e61b6ac907f812 + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 214916 + timestamp: 1729006632022 +- kind: conda + name: c-ares + version: 1.34.2 + build: heb4867d_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.2-heb4867d_0.conda + sha256: c2a515e623ac3e17a56027c06098fbd5ab47afefefbd386b4c21289f2ec55139 + md5: 2b780c0338fc0ffa678ac82c54af51fd + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 205797 + timestamp: 1729006575652 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hbcca054_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda + sha256: afee721baa6d988e27fef1832f68d6f32ac8cc99cdf6015732224c2841a09cea + md5: c27d1c142233b5bc9ca570c6e2e0c244 + license: ISC + size: 159003 + timestamp: 1725018903918 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hcefe29a_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2024.8.30-hcefe29a_0.conda + sha256: 2a2d827bee3775a85f0f1b2f2089291475c4416336d1b3a8cbce2964db547af8 + md5: 70e57e8f59d2c98f86b49c69e5074be5 + license: ISC + size: 159106 + timestamp: 1725020043153 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hf0a4a13_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + sha256: 2db1733f4b644575dbbdd7994a8f338e6ef937f5ebdb74acd557e9dda0211709 + md5: 40dec13fd8348dbe303e57be74bd3d35 + license: ISC + size: 158482 + timestamp: 1725019034582 +- kind: conda + name: certifi + version: 2024.8.30 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + sha256: 7020770df338c45ac6b560185956c32f0a5abf4b76179c037f115fc7d687819f + md5: 12f7d00853807b0531775e9be891cb11 + depends: + - python >=3.7 + license: ISC + size: 163752 + timestamp: 1725278204397 +- kind: conda + name: cffi + version: 1.17.1 + build: py311h14e8bb7_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-1.17.1-py311h14e8bb7_0.conda + sha256: 3d220020c9782ebd4f23cd0a6148b419e4397590ee414e6e69b9be810c57d2ca + md5: 616d65d1eea809af7e2b5f7ea36350fc + depends: + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - pycparser + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + size: 319122 + timestamp: 1725562148568 +- kind: conda + name: cffi + version: 1.17.1 + build: py311h3a79f62_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py311h3a79f62_0.conda + sha256: 253605b305cc4548b8f97eb7c2e146697e0c7672b099c4862ec5ca7e8e995307 + md5: a42272c5dbb6ffbc1a5af70f24c7b448 + depends: + - __osx >=11.0 + - libffi >=3.4,<4.0a0 + - pycparser + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + size: 288211 + timestamp: 1725560745212 +- kind: conda + name: cffi + version: 1.17.1 + build: py311hf29c0ef_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py311hf29c0ef_0.conda + sha256: bc47aa39c8254e9e487b8bcd74cfa3b4a3de3648869eb1a0b89905986b668e35 + md5: 55553ecd5328336368db611f350b7039 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - pycparser + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + size: 302115 + timestamp: 1725560701719 +- kind: conda + name: charset-normalizer + version: 3.4.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + sha256: 1873ac45ea61f95750cb0b4e5e675d1c5b3def937e80c7eebb19297f76810be8 + md5: a374efa97290b8799046df7c5ca17164 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 47314 + timestamp: 1728479405343 +- kind: conda + name: click + version: 8.1.7 + build: unix_pyh707e725_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec + md5: f3ad426304898027fc619827ff428eca + depends: + - __unix + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 84437 + timestamp: 1692311973840 +- kind: conda + name: colorama + version: 0.4.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + md5: 3faab06a954c2a04039983f2c4a50d99 + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 25170 + timestamp: 1666700778190 +- kind: conda + name: datasets + version: 2.14.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + sha256: 7e09bd083a609138b780fcc4535924cb96814d2c908a36d4c64a2ba9ee3efe7f + md5: 3e087f072ce03c43a9b60522f5d0ca2f + depends: + - aiohttp + - dill >=0.3.0,<0.3.8 + - fsspec >=2021.11.1 + - huggingface_hub >=0.14.0,<1.0.0 + - importlib-metadata + - multiprocess + - numpy >=1.17 + - packaging + - pandas + - pyarrow >=8.0.0 + - python >=3.8.0 + - python-xxhash + - pyyaml >=5.1 + - requests >=2.19.0 + - tqdm >=4.62.1 + license: Apache-2.0 + license_family: Apache + size: 347303 + timestamp: 1691593908658 +- kind: conda + name: deprecated + version: 1.2.14 + build: pyh1a96a4e_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + sha256: 8f61539b00ea315c99f8b6f9e2408caa6894593617676741214cc0280e875ca0 + md5: 4e4c4236e1ca9bcd8816b921a4805882 + depends: + - python >=2.7 + - wrapt <2,>=1.10 + license: MIT + license_family: MIT + size: 14033 + timestamp: 1685233463632 +- kind: conda + name: dill + version: 0.3.7 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + sha256: 4ff20c6be028be2825235631c45d9e4a75bca1de65f8840c02dfb28ea0137c45 + md5: 5e4f3466526c52bc9af2d2353a1460bd + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 87553 + timestamp: 1690101185422 +- kind: conda + name: dnspython + version: 2.7.0 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + sha256: 3e2ea1bfd90969e0e1f152bb1f969c56661278ad6bfaa3272027b1ff0d9a1a23 + md5: 0adf8f63d500d20418656289249533f9 + depends: + - python >=3.9.0,<4.0.0 + - sniffio + constrains: + - cryptography >=43 + - wmi >=1.5.1 + - h2 >=4.1.0 + - trio >=0.23 + - httpcore >=1.0.0 + - aioquic >=1.0.0 + - httpx >=0.26.0 + - idna >=3.7 + license: ISC + license_family: OTHER + size: 172740 + timestamp: 1728178868478 +- kind: conda + name: email-validator + version: 2.2.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + sha256: ea9e936ed7c49ea6d66fa3554afe31ba311f2a3d5e384d8c38925fda9e37bdb9 + md5: 3067adf57ee658ddf5bfad47b0041ce4 + depends: + - dnspython >=2.0.0 + - idna >=2.0.0 + - python >=3.7 + license: Unlicense + size: 44157 + timestamp: 1718984716782 +- kind: conda + name: email_validator + version: 2.2.0 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + sha256: 2cbbbe9e0f3872214227c27b8b775dd2296a435c90ef50a7cc69934c329b6c65 + md5: 0214a004f7cf5ac28fc10a390dfc47ee + depends: + - email-validator >=2.2.0,<2.2.1.0a0 + license: Unlicense + size: 6690 + timestamp: 1718984720419 +- kind: conda + name: exceptiongroup + version: 1.2.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + sha256: e0edd30c4b7144406bb4da975e6bb97d6bc9c0e999aa4efe66ae108cada5d5b5 + md5: d02ae936e42063ca46af6cdad2dbd1e0 + depends: + - python >=3.7 + license: MIT and PSF-2.0 + size: 20418 + timestamp: 1720869435725 +- kind: conda + name: fastapi + version: 0.115.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + sha256: 69d319a58a7f929c047c0e6c1b845a3b384840ff95b1391516aa683f517f0929 + md5: 29841fbba8e0d4628ab513b92212def4 + depends: + - email_validator >=2.0.0 + - fastapi-cli >=0.0.5 + - httpx >=0.23.0 + - jinja2 >=2.11.2 + - pydantic >=1.7.4,!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0 + - python >=3.8 + - python-multipart >=0.0.7 + - starlette >=0.40.0,<0.42.0 + - typing_extensions >=4.8.0 + - uvicorn >=0.12.0 + license: MIT + license_family: MIT + size: 73156 + timestamp: 1730122842479 +- kind: conda + name: fastapi-cli + version: 0.0.5 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + sha256: 2294f02beff318614a737454f1a432a6f4ae22216a85b296b7041fedab293516 + md5: d141225aba450ec07c771c73ac57bb43 + depends: + - python >=3.8 + - typer >=0.12.3 + - uvicorn-standard >=0.15.0 + license: MIT + license_family: MIT + size: 14441 + timestamp: 1728947860847 +- kind: conda + name: filelock + version: 3.16.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + sha256: 1da766da9dba05091af87977922fe60dc7464091a9ccffb3765d403189d39be4 + md5: 916f8ec5dd4128cd5f207a3c4c07b2c6 + depends: + - python >=3.7 + license: Unlicense + size: 17357 + timestamp: 1726613593584 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py311h9ecbd09_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.5.0-py311h9ecbd09_0.conda + sha256: 5bde4e41dd1bdf42488f1b86039f38914e87f4a6b46c15224c217651f964de8b + md5: 75424a18fb275a18b288c099b869c3bc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 60988 + timestamp: 1729699558841 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py311ha879c10_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/frozenlist-1.5.0-py311ha879c10_0.conda + sha256: 1b31825a689aa35a07ce4a7f1994668f2c2344cfdb7efdb05e820d8fc1ca6949 + md5: ea2f2c07a1173d0b1823fe4471203d6d + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 60923 + timestamp: 1729699681174 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py311hae2e1ce_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.5.0-py311hae2e1ce_0.conda + sha256: 3df51bbf74052c5d29a33cf8c8c57302699937f883e0e4e9e506c7e0b09e45a5 + md5: 7f28e6daf0b4963be1061291cbe10bfb + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 54023 + timestamp: 1729699703032 +- kind: conda + name: fsspec + version: 2024.10.0 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + sha256: 40bb76981dd49d5869b48925a8975bb7bbe4e33e1e40af4ec06f6bf4a62effd7 + md5: 816dbc4679a64e4417cd1385d661bb31 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 134745 + timestamp: 1729608972363 +- kind: conda + name: gflags + version: 2.2.2 + build: h5888daf_1005 + build_number: 1005 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + sha256: 6c33bf0c4d8f418546ba9c250db4e4221040936aef8956353bc764d4877bc39a + md5: d411fc29e338efb48c5fd4576d71d881 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 119654 + timestamp: 1726600001928 +- kind: conda + name: gflags + version: 2.2.2 + build: h5ad3122_1005 + build_number: 1005 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/gflags-2.2.2-h5ad3122_1005.conda + sha256: 28fe6b40b20454106d5e4ef6947cf298c13cc72a46347bbc49b563cd3a463bfa + md5: 4ff634d515abbf664774b5e1168a9744 + depends: + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 106638 + timestamp: 1726599967617 +- kind: conda + name: gflags + version: 2.2.2 + build: hf9b8971_1005 + build_number: 1005 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + sha256: fd56ed8a1dab72ab90d8a8929b6f916a6d9220ca297ff077f8f04c5ed3408e20 + md5: 57a511a5905caa37540eb914dfcbf1fb + depends: + - __osx >=11.0 + - libcxx >=17 + license: BSD-3-Clause + license_family: BSD + size: 82090 + timestamp: 1726600145480 +- kind: conda + name: glog + version: 0.7.1 + build: h468a4a4_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/glog-0.7.1-h468a4a4_0.conda + sha256: 920795d4f775a9f47e91c2223e64847f0b212b3fedc56c137c5889e32efe8ba0 + md5: 08940a32c6ced3703d1412dd37df4f62 + depends: + - gflags >=2.2.2,<2.3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 145811 + timestamp: 1718284208668 +- kind: conda + name: glog + version: 0.7.1 + build: hbabe93e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + sha256: dc824dc1d0aa358e28da2ecbbb9f03d932d976c8dca11214aa1dcdfcbd054ba2 + md5: ff862eebdfeb2fd048ae9dc92510baca + depends: + - gflags >=2.2.2,<2.3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 143452 + timestamp: 1718284177264 +- kind: conda + name: glog + version: 0.7.1 + build: heb240a5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + sha256: 9fc77de416953aa959039db72bc41bfa4600ae3ff84acad04a7d0c1ab9552602 + md5: fef68d0a95aa5b84b5c1a4f6f3bf40e1 + depends: + - __osx >=11.0 + - gflags >=2.2.2,<2.3.0a0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + size: 112215 + timestamp: 1718284365403 +- kind: conda + name: googleapis-common-protos + version: 1.65.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + sha256: 093e899196b6bedb761c707677a3bc7161a04371084eb26f489327e8aa8d6f25 + md5: f5bdd5dd4ad1fd075a6f25670bdda1b6 + depends: + - protobuf >=3.20.2,<6.0.0.dev0,!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5 + - python >=3.7 + license: Apache-2.0 + license_family: APACHE + size: 115834 + timestamp: 1724834348732 +- kind: conda + name: h11 + version: 0.14.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + sha256: 817d2c77d53afe3f3d9cf7f6eb8745cdd8ea76c7adaa9d7ced75c455a2c2c085 + md5: b21ed0883505ba1910994f1df031a428 + depends: + - python >=3 + - typing_extensions + license: MIT + license_family: MIT + size: 48251 + timestamp: 1664132995560 +- kind: conda + name: h2 + version: 4.1.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + sha256: bfc6a23849953647f4e255c782e74a0e18fe16f7e25c7bb0bc57b83bb6762c7a + md5: b748fbf7060927a6e82df7cb5ee8f097 + depends: + - hpack >=4.0,<5 + - hyperframe >=6.0,<7 + - python >=3.6.1 + license: MIT + license_family: MIT + size: 46754 + timestamp: 1634280590080 +- kind: conda + name: hpack + version: 4.0.0 + build: pyh9f0ad1d_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + sha256: 5dec948932c4f740674b1afb551223ada0c55103f4c7bf86a110454da3d27cb8 + md5: 914d6646c4dbb1fd3ff539830a12fd71 + depends: + - python + license: MIT + license_family: MIT + size: 25341 + timestamp: 1598856368685 +- kind: conda + name: httpcore + version: 1.0.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + sha256: 8952c3f1eb18bf4d7e813176c3b23e0af4e863e8b05087e73f74f371d73077ca + md5: b8e1901ef9a215fc41ecfb6bef7e0943 + depends: + - anyio >=3.0,<5.0 + - certifi + - h11 >=0.13,<0.15 + - h2 >=3,<5 + - python >=3.8 + - sniffio 1.* + license: BSD-3-Clause + license_family: BSD + size: 45711 + timestamp: 1727821031365 +- kind: conda + name: httptools + version: 0.6.1 + build: py311h460d6c5_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/httptools-0.6.1-py311h460d6c5_1.conda + sha256: 00c5c6cdc39ab88bcdf5484e7080e899bb8630e6fc62f76b954acb34dccc8d15 + md5: 1bb0af015844a74ded9a9fdc8ffcd87e + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + size: 76226 + timestamp: 1726688457939 +- kind: conda + name: httptools + version: 0.6.1 + build: py311h9ecbd09_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.6.1-py311h9ecbd09_1.conda + sha256: fe5d1d18c0013a7825820fadcb282d1005fd5eef4883d64d9a7962dcf3cbf020 + md5: edb0d1cdec377d192bb242115c52e029 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + size: 90869 + timestamp: 1726688211390 +- kind: conda + name: httptools + version: 0.6.1 + build: py311ha879c10_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/httptools-0.6.1-py311ha879c10_1.conda + sha256: 8cb9fcc101f56093e0c46a0a05dca72e4a5775d83abe847c23549f38f488e166 + md5: 1ad0580eb05e91a0f84a2cdf03846acf + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: MIT + license_family: MIT + size: 90898 + timestamp: 1726688305259 +- kind: conda + name: httpx + version: 0.27.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + sha256: 1a33f160548bf447e15c0273899d27e4473f1d5b7ca1441232ec2d9d07c56d03 + md5: 7e9ac3faeebdbd7b53b462c41891e7f7 + depends: + - anyio + - certifi + - httpcore 1.* + - idna + - python >=3.8 + - sniffio + license: BSD-3-Clause + license_family: BSD + size: 65085 + timestamp: 1724778453275 +- kind: conda + name: huggingface_hub + version: 0.26.2 + build: pyh0610db2_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + sha256: fad5da1b0a0899dfb4d59bb4a4e4b58bade677ad44332beb608020e55f1bea53 + md5: a7344f1612e61d1e1dcc90c758f71f8f + depends: + - filelock + - fsspec >=2023.5.0 + - packaging >=20.9 + - python >=3.8 + - pyyaml >=5.1 + - requests + - tqdm >=4.42.1 + - typing-extensions >=3.7.4.3 + - typing_extensions >=3.7.4.3 + license: Apache-2.0 + license_family: APACHE + size: 274216 + timestamp: 1730211995421 +- kind: conda + name: hyperframe + version: 6.0.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + sha256: e374a9d0f53149328134a8d86f5d72bca4c6dcebed3c0ecfa968c02996289330 + md5: 9f765cbfab6870c8435b9eefecd7a1f4 + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 14646 + timestamp: 1619110249723 +- kind: conda + name: icu + version: '75.1' + build: hf9b3779_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda + sha256: 813298f2e54ef087dbfc9cc2e56e08ded41de65cff34c639cc8ba4e27e4540c9 + md5: 268203e8b983fddb6412b36f2024e75c + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 12282786 + timestamp: 1720853454991 +- kind: conda + name: icu + version: '75.1' + build: hfee45f7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 + md5: 5eb22c1d7b3fc4abb50d92d621583137 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 11857802 + timestamp: 1720853997952 +- kind: conda + name: idna + version: '3.10' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + sha256: 8c57fd68e6be5eecba4462e983aed7e85761a519aab80e834bbd7794d4b545b2 + md5: 7ba2ede0e7c795ff95088daf0dc59753 + depends: + - python >=3.6 + license: BSD-3-Clause + license_family: BSD + size: 49837 + timestamp: 1726459583613 +- kind: conda + name: importlib-metadata + version: 7.0.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + sha256: 9a26136d2cc81ccac209d6ae24281ceba3365fe34e34b2c45570f2a96e9d9c1b + md5: b050a4bb0e90ebd6e7fa4093d6346867 + depends: + - python >=3.8 + - zipp >=0.5 + license: Apache-2.0 + license_family: APACHE + size: 26900 + timestamp: 1709821273570 +- kind: conda + name: jinja2 + version: 3.1.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + sha256: 27380d870d42d00350d2d52598cddaf02f9505fb24be09488da0c9b8d1428f2d + md5: 7b86ecb7d3557821c649b3c31e3eb9f2 + depends: + - markupsafe >=2.0 + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 111565 + timestamp: 1715127275924 +- kind: conda + name: jupyter_client + version: 8.6.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + sha256: 4419c85e209a715f551a5c9bead746f29ee9d0fc41e772a76db3868622795671 + md5: a14218cfb29662b4a19ceb04e93e298e + depends: + - importlib-metadata >=4.8.3 + - jupyter_core >=4.12,!=5.0.* + - python >=3.8 + - python-dateutil >=2.8.2 + - pyzmq >=23.0 + - tornado >=6.2 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 106055 + timestamp: 1726610805505 +- kind: conda + name: jupyter_core + version: 5.7.2 + build: pyh31011fe_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + sha256: 732b1e8536bc22a5a174baa79842d79db2f4956d90293dd82dc1b3f6099bcccd + md5: 0a2980dada0dd7fd0998f0342308b1b1 + depends: + - __unix + - platformdirs >=2.5 + - python >=3.8 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 57671 + timestamp: 1727163547058 +- kind: conda + name: keyutils + version: 1.6.1 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb + md5: 30186d27e2c9fa62b45fb1476b7200e3 + depends: + - libgcc-ng >=10.3.0 + license: LGPL-2.1-or-later + size: 117831 + timestamp: 1646151697040 +- kind: conda + name: keyutils + version: 1.6.1 + build: h4e544f5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.1-h4e544f5_0.tar.bz2 + sha256: 6d4233d97a9b38acbb26e1268bcf8c10a8e79c2aed7e5a385ec3769967e3e65b + md5: 1f24853e59c68892452ef94ddd8afd4b + depends: + - libgcc-ng >=10.3.0 + license: LGPL-2.1-or-later + size: 112327 + timestamp: 1646166857935 +- kind: conda + name: krb5 + version: 1.21.3 + build: h237132a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + sha256: 4442f957c3c77d69d9da3521268cad5d54c9033f1a73f99cde0a3658937b159b + md5: c6dc8a0fdec13a0565936655c33069a1 + depends: + - __osx >=11.0 + - libcxx >=16 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1155530 + timestamp: 1719463474401 +- kind: conda + name: krb5 + version: 1.21.3 + build: h50a48e9_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.21.3-h50a48e9_0.conda + sha256: 0ec272afcf7ea7fbf007e07a3b4678384b7da4047348107b2ae02630a570a815 + md5: 29c10432a2ca1472b53f299ffb2ffa37 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1474620 + timestamp: 1719463205834 +- kind: conda + name: krb5 + version: 1.21.3 + build: h659f571_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1370023 + timestamp: 1719463201255 +- kind: conda + name: ld_impl_linux-64 + version: '2.43' + build: h712a8e2_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda + sha256: 7c91cea91b13f4314d125d1bedb9d03a29ebbd5080ccdea70260363424646dbe + md5: 048b02e3962f066da18efe3a21b77672 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - binutils_impl_linux-64 2.43 + license: GPL-3.0-only + license_family: GPL + size: 669211 + timestamp: 1729655358674 +- kind: conda + name: ld_impl_linux-aarch64 + version: '2.43' + build: h80caac9_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.43-h80caac9_2.conda + sha256: 80ec7e8f006196808fac5bd4b3773a652847f97bbf08044cd87731424ac64f8b + md5: fcbde5ea19d55468953bf588770c0501 + constrains: + - binutils_impl_linux-aarch64 2.43 + license: GPL-3.0-only + license_family: GPL + size: 698245 + timestamp: 1729655345825 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_h00cdb27_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20240116.2-cxx17_h00cdb27_1.conda + sha256: a9517c8683924f4b3b9380cdaa50fdd2009cd8d5f3918c92f64394238189d3cb + md5: f16963d88aed907af8b90878b8d8a05c + depends: + - __osx >=11.0 + - libcxx >=16 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1136123 + timestamp: 1720857649214 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_h0a1ffab_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20240116.2-cxx17_h0a1ffab_1.conda + sha256: a6e1a6f13fd49c24238373838c266101a2bf3b521b0a36a3a7e586b40f50ec5b + md5: 9cadd103cf89edb2ea68d33728511158 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1283386 + timestamp: 1720857389114 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_he02047a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_he02047a_1.conda + sha256: 945396726cadae174a661ce006e3f74d71dbd719219faf7cc74696b267f7b0b5 + md5: c48fc56ec03229f294176923c3265c05 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1264712 + timestamp: 1720857377573 +- kind: conda + name: libarrow + version: 17.0.0 + build: had3b6fe_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-17.0.0-had3b6fe_16_cpu.conda + sha256: 9aa5598878cccc29de744ebc4b501c4a5a43332973edfdf0a19ddc521bd7248f + md5: c899e532e16be21570d32bc74ea3d34f + depends: + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - gflags >=2.2.2,<2.3.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libgcc >=13 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx >=13 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - parquet-cpp <0.0a0 + - arrow-cpp <0.0a0 + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 8495428 + timestamp: 1726669963852 +- kind: conda + name: libarrow + version: 17.0.0 + build: hc6a7651_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-17.0.0-hc6a7651_16_cpu.conda + sha256: 1facd5aa7140031be0f68733ab5e413ea1505da40548e27a173b2407046f36b5 + md5: 05fecc4ae5930dc548327980a4bc7a83 + depends: + - __osx >=11.0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libcxx >=17 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 5318871 + timestamp: 1726669928492 +- kind: conda + name: libarrow + version: 17.0.0 + build: hccffc7f_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-17.0.0-hccffc7f_16_cpu.conda + sha256: b71e81d0a685ad5832df0c1762d613be82d14a165e984621e0c874cd885a5df4 + md5: adc3e7dd910df20ef4a968f09fe90da0 + depends: + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - gflags >=2.2.2,<2.3.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libgcc >=13 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx >=13 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 7818979 + timestamp: 1726670314145 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: h5888daf_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-17.0.0-h5888daf_16_cpu.conda + sha256: 0ff4c712c7c61e60708c6ef4f8158200059e0f63c25d0a54c8e4cca7bd153d86 + md5: 18f796aae018a26a20ac51d19de69115 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 608267 + timestamp: 1726669999941 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: h5ad3122_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-acero-17.0.0-h5ad3122_16_cpu.conda + sha256: be9f73a92a00d991cc5946705c83c7b449f8cea6709ad29a2e05d6db7beb4b54 + md5: 0913ad25f0ebb327458c25d38bf9cf45 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 573902 + timestamp: 1726670347811 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: hf9b8971_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-17.0.0-hf9b8971_16_cpu.conda + sha256: c9ff43babc0acbd864584ed1720cf063715589e31e9e2024b90d2094d4f20d38 + md5: 319bd2a8c30dffa54d6ad69847f16de1 + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libcxx >=17 + license: Apache-2.0 + license_family: APACHE + size: 483187 + timestamp: 1726670022814 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: h5888daf_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-17.0.0-h5888daf_16_cpu.conda + sha256: e500e0154cf3ebb41bed3bdf41bd0ff5e0a6b7527a46ba755c05e59c8036e442 + md5: 5400efd6bf101674e0ce170906a0f7cb + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libarrow-acero 17.0.0 h5888daf_16_cpu + - libgcc >=13 + - libparquet 17.0.0 h39682fd_16_cpu + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 585061 + timestamp: 1726670063965 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: h5ad3122_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-dataset-17.0.0-h5ad3122_16_cpu.conda + sha256: 276af4de42960692a2ee34630659be11eb1e83552ec4752d59cc96e244382560 + md5: 2dc1bbff088399cca7137501cef4a741 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libarrow-acero 17.0.0 h5ad3122_16_cpu + - libgcc >=13 + - libparquet 17.0.0 h501616e_16_cpu + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 558058 + timestamp: 1726670424141 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: hf9b8971_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-17.0.0-hf9b8971_16_cpu.conda + sha256: e77d3c6825384c232f61fd3602a32507b66410dbe8879cd69a89b0fc49489533 + md5: 67ea0ef775de4c394c3c7db991297ffa + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libarrow-acero 17.0.0 hf9b8971_16_cpu + - libcxx >=17 + - libparquet 17.0.0 hf0ba9ef_16_cpu + license: Apache-2.0 + license_family: APACHE + size: 491606 + timestamp: 1726671006156 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: h08b7278_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-substrait-17.0.0-h08b7278_16_cpu.conda + sha256: 8f4179180db0ab8b7e759699e40533d893082e4556d2d6b81b20224e60312fa9 + md5: c677e8946781fd3b57ef3b8b1b883f4d + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 hccffc7f_16_cpu + - libarrow-acero 17.0.0 h5ad3122_16_cpu + - libarrow-dataset 17.0.0 h5ad3122_16_cpu + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 537621 + timestamp: 1726670458067 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: hbf8b706_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-17.0.0-hbf8b706_16_cpu.conda + sha256: 6880b3c8fb88ee6c0bbae34b0efea86567ccec1b8cd8a3662b8b8c6dfeb5e87a + md5: b739c909163c38f85f40f5650ab2aeb2 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libarrow-acero 17.0.0 hf9b8971_16_cpu + - libarrow-dataset 17.0.0 hf9b8971_16_cpu + - libcxx >=17 + - libprotobuf >=4.25.3,<4.25.4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 472812 + timestamp: 1726671149860 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: hf54134d_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-17.0.0-hf54134d_16_cpu.conda + sha256: 53f3d5f12c9ea557f33a4e1cf9067ce2dbb4211eff0a095574eeb7f0528bc044 + md5: 1cbc3fb1ee28c99e5f8c52920a7717a3 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libarrow-acero 17.0.0 h5888daf_16_cpu + - libarrow-dataset 17.0.0 h5888daf_16_cpu + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 550960 + timestamp: 1726670093831 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-25_linux64_openblas.conda + sha256: d6d12dc437d060f838820e9e61bf73baab651f91935ac594cf10beb9ef1b4450 + md5: 8ea26d42ca88ec5258802715fe1ee10b + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - liblapack 3.9.0 25_linux64_openblas + - libcblas 3.9.0 25_linux64_openblas + - blas * openblas + - liblapacke 3.9.0 25_linux64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15677 + timestamp: 1729642900350 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.9.0-25_linuxaarch64_openblas.conda + sha256: 5c08f78312874bb61307f5ea737377df2d0f6e7f7833ded21ca58d8820c794ca + md5: f9b8a4a955ed2d0b68b1f453abcc1c9e + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - liblapack 3.9.0 25_linuxaarch64_openblas + - libcblas 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15808 + timestamp: 1729643002627 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + sha256: f1fb9a11af0b2878bd8804b4c77d3733c40076218bcbdb35f575b1c0c9fddf11 + md5: f8cf4d920ff36ce471619010eff59cac + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15913 + timestamp: 1729643265495 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.1.0-h86ecc28_2.conda + sha256: 64112af913974b309d67fd342e065fd184347043a6387933b3db796778a28019 + md5: 3ee026955c688f551a9999840cff4c67 + depends: + - libgcc >=13 + license: MIT + license_family: MIT + size: 68982 + timestamp: 1725267774142 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + sha256: d9db2de60ea917298e658143354a530e9ca5f9c63471c65cf47ab39fd2f429e3 + md5: 41b599ed2b02abcfdd84302bff174b23 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 68851 + timestamp: 1725267660471 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-hd74edd7_2.conda + sha256: 839dacb741bdbb25e58f42088a2001b649f4f12195aeb700b5ddfca3267749e5 + md5: d0bf1dff146b799b319ea0434b93f779 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 68426 + timestamp: 1725267943211 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.1.0-h86ecc28_2.conda + sha256: 94c808d9ca3eb6ef30976a9843e27f027cf3a1e84e8c6835cbb696b7bdb35c4c + md5: e64d0f3b59c7c4047446b97a8624a72d + depends: + - libbrotlicommon 1.1.0 h86ecc28_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 31708 + timestamp: 1725267783442 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + sha256: 2892d512cad096cb03f1b66361deeab58b64e15ba525d6592bb6d609e7045edf + md5: 9566f0bd264fbd463002e759b8a82401 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 32696 + timestamp: 1725267669305 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-hd74edd7_2.conda + sha256: 6c6862eb274f21a7c0b60e5345467a12e6dda8b9af4438c66d496a2c1a538264 + md5: 55e66e68ce55523a6811633dd1ac74e2 + depends: + - __osx >=11.0 + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 28378 + timestamp: 1725267980316 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.1.0-h86ecc28_2.conda + sha256: 41385e17bc73834b235c5aff12d6d82eccb534acb3c30986996f9dad92a0d54c + md5: 0e9bd365480c72b25c71a448257b537d + depends: + - libbrotlicommon 1.1.0 h86ecc28_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 290230 + timestamp: 1725267792697 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + sha256: 779f58174e99de3600e939fa46eddb453ec5d3c60bb46cdaa8b4c127224dbf29 + md5: 06f70867945ea6a84d35836af780f1de + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 281750 + timestamp: 1725267679782 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-hd74edd7_2.conda + sha256: eeb1eb0d58b9d02bc1b98dc0a058f104ab168eb2f7d1c7bfa0570a12cfcdb7b7 + md5: 4f3a434504c67b2c42565c0b85c1885c + depends: + - __osx >=11.0 + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 279644 + timestamp: 1725268003553 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-25_linux64_openblas.conda + sha256: ab87b0477078837c91d9cda62a9faca18fba7c57cc77aa779ae24b3ac783b5dd + md5: 5dbd1b0fc0d01ec5e0e1fbe667281a11 + depends: + - libblas 3.9.0 25_linux64_openblas + constrains: + - liblapack 3.9.0 25_linux64_openblas + - blas * openblas + - liblapacke 3.9.0 25_linux64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15613 + timestamp: 1729642905619 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.9.0-25_linuxaarch64_openblas.conda + sha256: fde797e5528040fed0e9228dd75331be0cf5cbb0bc63641f53c3cca9eb86ec16 + md5: db6af51123c67814572a8c25542cb368 + depends: + - libblas 3.9.0 25_linuxaarch64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - liblapack 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15700 + timestamp: 1729643006729 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + sha256: d9fa5b6b11252132a3383bbf87bd2f1b9d6248bef1b7e113c2a8ae41b0376218 + md5: 4df0fae81f0b5bf47d48c882b086da11 + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15837 + timestamp: 1729643270793 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: h01db608_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcrc32c-1.1.2-h01db608_0.tar.bz2 + sha256: b8b8c57a87da86b3ea24280fd6aa8efaf92f4e684b606bf2db5d3cb06ffbe2ea + md5: 268ee639c17ada0002fb04dd21816cc2 + depends: + - libgcc-ng >=9.4.0 + - libstdcxx-ng >=9.4.0 + license: BSD-3-Clause + license_family: BSD + size: 18669 + timestamp: 1633683724891 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: h9c3ff4c_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 + md5: c965a5aa0d5c1c37ffc62dff36e28400 + depends: + - libgcc-ng >=9.4.0 + - libstdcxx-ng >=9.4.0 + license: BSD-3-Clause + license_family: BSD + size: 20440 + timestamp: 1633683576494 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: hbdafb3b_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + sha256: 58477b67cc719060b5b069ba57161e20ba69b8695d154a719cb4b60caf577929 + md5: 32bd82a6a625ea6ce090a81c3d34edeb + depends: + - libcxx >=11.1.0 + license: BSD-3-Clause + license_family: BSD + size: 18765 + timestamp: 1633683992603 +- kind: conda + name: libcurl + version: 8.10.1 + build: h13a7ad3_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.10.1-h13a7ad3_0.conda + sha256: 983a977c5627f975a930542c8aabb46089ec6ea72f28d9c4d3ee8eafaf2fc25a + md5: d84030d0863ffe7dea00b9a807fee961 + depends: + - __osx >=11.0 + - krb5 >=1.21.3,<1.22.0a0 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 379948 + timestamp: 1726660033582 +- kind: conda + name: libcurl + version: 8.10.1 + build: h3ec0cbf_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.10.1-h3ec0cbf_0.conda + sha256: 7c4983001c727f713b4448280ed4803d301087c184cd2819ba0b788ca62b73d1 + md5: f43539295c4e0cd15202d41bc72b8a26 + depends: + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 439171 + timestamp: 1726659843118 +- kind: conda + name: libcurl + version: 8.10.1 + build: hbbe4b11_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.10.1-hbbe4b11_0.conda + sha256: 54e6114dfce566c3a22ad3b7b309657e3600cdb668398e95f1301360d5d52c99 + md5: 6e801c50a40301f6978c53976917b277 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 424900 + timestamp: 1726659794676 +- kind: conda + name: libcxx + version: 19.1.3 + build: ha82da77_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + sha256: 6d062760c6439e75b9a44d800d89aff60fe3441998d87506c62dc94c50412ef4 + md5: bf691071fba4734984231617783225bc + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 520771 + timestamp: 1730314603920 +- kind: conda + name: libedit + version: 3.1.20191231 + build: hc8eb9b7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20191231-hc8eb9b7_2.tar.bz2 + sha256: 3912636197933ecfe4692634119e8644904b41a58f30cad9d1fc02f6ba4d9fca + md5: 30e4362988a2623e9eb34337b83e01f9 + depends: + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 96607 + timestamp: 1597616630749 +- kind: conda + name: libedit + version: 3.1.20191231 + build: he28a2e2_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf + md5: 4d331e44109e3f0e19b4cb8f9b82f3e1 + depends: + - libgcc-ng >=7.5.0 + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 123878 + timestamp: 1597616541093 +- kind: conda + name: libedit + version: 3.1.20191231 + build: he28a2e2_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + sha256: debc31fb2f07ba2b0363f90e455873670734082822926ba4a9556431ec0bf36d + md5: 29371161d77933a54fccf1bb66b96529 + depends: + - libgcc-ng >=7.5.0 + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 134104 + timestamp: 1597617110769 +- kind: conda + name: libev + version: '4.33' + build: h31becfc_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h31becfc_2.conda + sha256: 973af77e297f1955dd1f69c2cbdc5ab9dfc88388a5576cd152cda178af0fd006 + md5: a9a13cb143bbaa477b1ebaefbe47a302 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 115123 + timestamp: 1702146237623 +- kind: conda + name: libev + version: '4.33' + build: h93a5062_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + sha256: 95cecb3902fbe0399c3a7e67a5bed1db813e5ab0e22f4023a5e0f722f2cc214f + md5: 36d33e440c31857372a72137f78bacf5 + license: BSD-2-Clause + license_family: BSD + size: 107458 + timestamp: 1702146414478 +- kind: conda + name: libev + version: '4.33' + build: hd590300_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + md5: 172bf1cd1ff8629f2b1179945ed45055 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 112766 + timestamp: 1702146165126 +- kind: conda + name: libevent + version: 2.1.12 + build: h2757513_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + sha256: 8c136d7586259bb5c0d2b913aaadc5b9737787ae4f40e3ad1beaf96c80b919b7 + md5: 1a109764bff3bdc7bdd84088347d71dc + depends: + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 368167 + timestamp: 1685726248899 +- kind: conda + name: libevent + version: 2.1.12 + build: h4ba1bb4_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda + sha256: 01333cc7d6e6985dd5700b43660d90e9e58049182017fd24862088ecbe1458e4 + md5: 96ae6083cd1ac9f6bc81631ac835b317 + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 438992 + timestamp: 1685726046519 +- kind: conda + name: libevent + version: 2.1.12 + build: hf998b51_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 + md5: a1cfcc585f0c42bf8d5546bb1dfb668d + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 427426 + timestamp: 1685725977222 +- kind: conda + name: libexpat + version: 2.6.3 + build: h5888daf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda + sha256: 4bb47bb2cd09898737a5211e2992d63c555d63715a07ba56eae0aff31fb89c22 + md5: 59f4c43bb1b5ef1c71946ff2cbf59524 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 73616 + timestamp: 1725568742634 +- kind: conda + name: libexpat + version: 2.6.3 + build: h5ad3122_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.6.3-h5ad3122_0.conda + sha256: 02341c9c35128055fd404dfe675832b80f2bf9dbb99539457652c11c06e52757 + md5: 1d2b842bb76e268625e8ee8d0a9fe8c3 + depends: + - libgcc >=13 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 72342 + timestamp: 1725568840022 +- kind: conda + name: libexpat + version: 2.6.3 + build: hf9b8971_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda + sha256: 5cbe5a199fba14ade55457a468ce663aac0b54832c39aa54470b3889b4c75c4a + md5: 5f22f07c2ab2dea8c66fe9585a062c96 + depends: + - __osx >=11.0 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 63895 + timestamp: 1725568783033 +- kind: conda + name: libffi + version: 3.4.2 + build: h3422bc3_5 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca + md5: 086914b672be056eb70fd4285b6783b6 + license: MIT + license_family: MIT + size: 39020 + timestamp: 1636488587153 +- kind: conda + name: libffi + version: 3.4.2 + build: h3557bc0_5 + build_number: 5 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.4.2-h3557bc0_5.tar.bz2 + sha256: 7e9258a102480757fe3faeb225a3ca04dffd10fecd2a958c65cdb4cdf75f2c3c + md5: dddd85f4d52121fab0a8b099c5e06501 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 59450 + timestamp: 1636488255090 +- kind: conda + name: libffi + version: 3.4.2 + build: h7f98852_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e + md5: d645c6d2ac96843a2bfaccd2d62b3ac3 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 58292 + timestamp: 1636488182923 +- kind: conda + name: libgcc + version: 14.2.0 + build: h77fa898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h77fa898_1.conda + sha256: 53eb8a79365e58849e7b1a068d31f4f9e718dc938d6f2c03e960345739a03569 + md5: 3cb76c3f10d3bc7f1105b2fc9db984df + depends: + - _libgcc_mutex 0.1 conda_forge + - _openmp_mutex >=4.5 + constrains: + - libgomp 14.2.0 h77fa898_1 + - libgcc-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 848745 + timestamp: 1729027721139 +- kind: conda + name: libgcc + version: 14.2.0 + build: he277a41_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_1.conda + sha256: 5d56757ccad208c79214395b00d006d8d18929a4ba49c47bd9460789a7620943 + md5: 511b511c5445e324066c3377481bcab8 + depends: + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==14.2.0=*_1 + - libgomp 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 535243 + timestamp: 1729089435134 +- kind: conda + name: libgcc-ng + version: 14.2.0 + build: h69a702a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_1.conda + sha256: 3a76969c80e9af8b6e7a55090088bc41da4cffcde9e2c71b17f44d37b7cb87f7 + md5: e39480b9ca41323497b05492a63bc35b + depends: + - libgcc 14.2.0 h77fa898_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54142 + timestamp: 1729027726517 +- kind: conda + name: libgcc-ng + version: 14.2.0 + build: he9431aa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_1.conda + sha256: 9b5cf168a6c7361cae869cb74b716766ee7c6d6b3f6172b32ba9bf91135efdc4 + md5: 0694c249c61469f2c0f7e2990782af21 + depends: + - libgcc 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54104 + timestamp: 1729089444587 +- kind: conda + name: libgfortran + version: 5.0.0 + build: 13_2_0_hd922786_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + sha256: 44e541b4821c96b28b27fef5630883a60ce4fee91fd9c79f25a199f8f73f337b + md5: 4a55d9e169114b2b90d3ec4604cd7bbf + depends: + - libgfortran5 13.2.0 hf226fd6_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 110233 + timestamp: 1707330749033 +- kind: conda + name: libgfortran + version: 14.2.0 + build: h69a702a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda + sha256: fc9e7f22a17faf74da904ebfc4d88699013d2992e55505e4aa0eb01770290977 + md5: f1fd30127802683586f768875127a987 + depends: + - libgfortran5 14.2.0 hd5240d6_1 + constrains: + - libgfortran-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 53997 + timestamp: 1729027752995 +- kind: conda + name: libgfortran + version: 14.2.0 + build: he9431aa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-14.2.0-he9431aa_1.conda + sha256: cb66e411fa32a5c6040f4e5e2a63c00897aae4c3133a9c004c2e929ccf19575b + md5: 0294b92d2f47a240bebb1e3336b495f1 + depends: + - libgfortran5 14.2.0 hb6113d0_1 + constrains: + - libgfortran-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54105 + timestamp: 1729089471124 +- kind: conda + name: libgfortran5 + version: 13.2.0 + build: hf226fd6_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + sha256: bafc679eedb468a86aa4636061c55966186399ee0a04b605920d208d97ac579a + md5: 66ac81d54e95c534ae488726c1f698ea + depends: + - llvm-openmp >=8.0.0 + constrains: + - libgfortran 5.0.0 13_2_0_*_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 997381 + timestamp: 1707330687590 +- kind: conda + name: libgfortran5 + version: 14.2.0 + build: hb6113d0_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-14.2.0-hb6113d0_1.conda + sha256: a87ff46d19916403cbf68cf1d785bf56b4d1ab7b2552468d2ea775d70782493f + md5: fc068e11b10e18f184e027782baa12b6 + depends: + - libgcc >=14.2.0 + constrains: + - libgfortran 14.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 1102158 + timestamp: 1729089452640 +- kind: conda + name: libgfortran5 + version: 14.2.0 + build: hd5240d6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hd5240d6_1.conda + sha256: d149a37ca73611e425041f33b9d8dbed6e52ec506fe8cc1fc0ee054bddeb6d5d + md5: 9822b874ea29af082e5d36098d25427d + depends: + - libgcc >=14.2.0 + constrains: + - libgfortran 14.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 1462645 + timestamp: 1729027735353 +- kind: conda + name: libgomp + version: 14.2.0 + build: h77fa898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h77fa898_1.conda + sha256: 1911c29975ec99b6b906904040c855772ccb265a1c79d5d75c8ceec4ed89cd63 + md5: cc3573974587f12dda90d96e3e55a702 + depends: + - _libgcc_mutex 0.1 conda_forge + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 460992 + timestamp: 1729027639220 +- kind: conda + name: libgomp + version: 14.2.0 + build: he277a41_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_1.conda + sha256: 5aa53874a5e57a00f2e0c2e2910684eb674429cd5fcb803619b226a73e89aedf + md5: 376f0e73abbda6d23c0cb749adc195ef + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 463521 + timestamp: 1729089357313 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: h435de7b_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.29.0-h435de7b_0.conda + sha256: c8ee42a4acce5227d220ec6500f6872d52d82e478c76648b9ff57dd2d86429bd + md5: 5d95d9040c4319997644f68e9aefbe70 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libgcc >=13 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 1241649 + timestamp: 1725640926284 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: hbb89541_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-2.29.0-hbb89541_0.conda + sha256: a604681e3a6a7b6214df0406afd1a225349e9cd1f8c177826140811315a938ba + md5: a2ca6f7068595e4c3e2ee8214106786b + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libgcc >=13 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 1231400 + timestamp: 1725642021621 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: hfa33a2f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.29.0-hfa33a2f_0.conda + sha256: 1f42048702d773a355d276d24313ac63781a331959fc3662c6be36e979d7845c + md5: f78c7bd435ee45f4661daae9e81ddf13 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libcxx >=17 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 866727 + timestamp: 1725640714587 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: h0121fbd_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.29.0-h0121fbd_0.conda + sha256: 2847c9e940b742275a7068e0a742bdabf211bf0b2bbb1453592d6afb47c7e17e + md5: 06dfd5208170b56eee943d9ac674a533 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=13 + - libgoogle-cloud 2.29.0 h435de7b_0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 781655 + timestamp: 1725641060970 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: h90fd6fa_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.29.0-h90fd6fa_0.conda + sha256: ec80383fbb6fae95d2ff7d04ba46b282ab48219b7ce85b3cd5ee7d0d8bae74e1 + md5: baee0b9cb1c5319f370a534ca5a16267 + depends: + - __osx >=11.0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libcxx >=17 + - libgoogle-cloud 2.29.0 hfa33a2f_0 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 535346 + timestamp: 1725641618955 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: hb9b2b65_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-storage-2.29.0-hb9b2b65_0.conda + sha256: d477736704021486ffde0b117290d8c1f29a434f02ab9a21d4458e41212c448f + md5: 5f75545cfccc08fb2f79256e0b8a2fb6 + depends: + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=13 + - libgoogle-cloud 2.29.0 hbb89541_0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 736327 + timestamp: 1725642186647 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h15f2491_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda + sha256: 28241ed89335871db33cb6010e9ccb2d9e9b6bb444ddf6884f02f0857363c06a + md5: 8dabe607748cb3d7002ad73cd06f1325 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 7316832 + timestamp: 1713390645548 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h98a9317_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgrpc-1.62.2-h98a9317_0.conda + sha256: ae5fe7ba0c5c599f0e20fa08be436518b7ef25ab6f705e8c7fcf0d0f34525f72 + md5: 2a669953ec0f08c2cc56bb43fed78de8 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 7395259 + timestamp: 1713390742813 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h9c18a4f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.62.2-h9c18a4f_0.conda + sha256: d2c5b5a828f6f1242c11e8c91968f48f64446f7dd5cbfa1197545e465eb7d47a + md5: e624fc11026dbb84c549435eccd08623 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libcxx >=16 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 5016525 + timestamp: 1713392846329 +- kind: conda + name: libiconv + version: '1.17' + build: h0d3ecfb_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + sha256: bc7de5097b97bcafcf7deaaed505f7ce02f648aac8eccc0d5a47cc599a1d0304 + md5: 69bda57310071cf6d2b86caf11573d2d + license: LGPL-2.1-only + size: 676469 + timestamp: 1702682458114 +- kind: conda + name: libiconv + version: '1.17' + build: h31becfc_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.17-h31becfc_2.conda + sha256: a30e09d089cb75a0d5b8e5c354694c1317da98261185ed65aa3793e741060614 + md5: 9a8eb13f14de7d761555a98712e6df65 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + size: 705787 + timestamp: 1702684557134 +- kind: conda + name: libiconv + version: '1.17' + build: hd590300_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda + sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9 + md5: d66573916ffcf376178462f1b61c941e + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + size: 705775 + timestamp: 1702682170569 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-25_linux64_openblas.conda + sha256: 9d1ff017714edb2d84868f0f931a4a0e7c289a971062b2ac66cfc8145df7e20e + md5: 4dc03a53fc69371a6158d0ed37214cd3 + depends: + - libblas 3.9.0 25_linux64_openblas + constrains: + - liblapacke 3.9.0 25_linux64_openblas + - libcblas 3.9.0 25_linux64_openblas + - blas * openblas + license: BSD-3-Clause + license_family: BSD + size: 15608 + timestamp: 1729642910812 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.9.0-25_linuxaarch64_openblas.conda + sha256: 2b399e65e0338bf249657b98333e910cd7086ea1332d4d6f303735883ca49318 + md5: 0eb74e81de46454960bde9e44e7ee378 + depends: + - libblas 3.9.0 25_linuxaarch64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - libcblas 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15711 + timestamp: 1729643010817 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + sha256: fdd742407672a9af20e70764550cf18b3ab67f12e48bf04163b90492fbc401e7 + md5: 19bbddfec972d401838330453186108d + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15823 + timestamp: 1729643275943 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: h161d5f1_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + sha256: b0f2b3695b13a989f75d8fd7f4778e1c7aabe3b36db83f0fe80b2cd812c0e975 + md5: 19e57602824042dfd0446292ef90488b + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.32.3,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 647599 + timestamp: 1729571887612 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: h6d7220d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + sha256: 00cc685824f39f51be5233b54e19f45abd60de5d8847f1a56906f8936648b72f + md5: 3408c02539cee5f1141f9f11450b6a51 + depends: + - __osx >=11.0 + - c-ares >=1.34.2,<2.0a0 + - libcxx >=17 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 566719 + timestamp: 1729572385640 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: hc8609a4_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.64.0-hc8609a4_0.conda + sha256: c093c6d370aadbf0409c20b6c54c488ee2f6fea976181919fcc63e87ee232673 + md5: f52c614fa214a8bedece9421c771670d + depends: + - c-ares >=1.32.3,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 714610 + timestamp: 1729571912479 +- kind: conda + name: libnsl + version: 2.0.1 + build: h31becfc_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h31becfc_0.conda + sha256: fd18c2b75d7411096428d36a70b36b1a17e31f7b8956b6905d145792d49e97f8 + md5: c14f32510f694e3185704d89967ec422 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + size: 34501 + timestamp: 1697358973269 +- kind: conda + name: libnsl + version: 2.0.1 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6 + md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + size: 33408 + timestamp: 1697359010159 +- kind: conda + name: libopenblas + version: 0.3.28 + build: openmp_hf332438_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + sha256: 62bb669c37a845129096f73d446cdb6bb170e4927f2fea2b661329680dbbc373 + md5: 40803a48d947c8639da6704e9a44d3ce + depends: + - __osx >=11.0 + - libgfortran 5.* + - libgfortran5 >=13.2.0 + - llvm-openmp >=18.1.8 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 4165774 + timestamp: 1730772154295 +- kind: conda + name: libopenblas + version: 0.3.28 + build: pthreads_h94d23a6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + sha256: 99ba271d8a80a1af2723f2e124ffd91d850074c0389c067e6d96d72a2dbfeabe + md5: 62857b389e42b36b686331bec0922050 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 5578513 + timestamp: 1730772671118 +- kind: conda + name: libopenblas + version: 0.3.28 + build: pthreads_h9d3fd7e_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.28-pthreads_h9d3fd7e_1.conda + sha256: 30623a40764e935aa77e0d4db54c1a1589189a9bf3a03fdb445505c1e319b5a6 + md5: e8dde93dd199da3c1f2c1fcfd0042cd4 + depends: + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 4793435 + timestamp: 1730773029647 +- kind: conda + name: libparquet + version: 17.0.0 + build: h39682fd_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libparquet-17.0.0-h39682fd_16_cpu.conda + sha256: 09bc64111e5e1e9f5fee78efdd62592e01c681943fe6e91b369f6580dc8726c4 + md5: dd1fee2da0659103080fdd74004656df + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libgcc >=13 + - libstdcxx >=13 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1186069 + timestamp: 1726670048098 +- kind: conda + name: libparquet + version: 17.0.0 + build: h501616e_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libparquet-17.0.0-h501616e_16_cpu.conda + sha256: 7d834aec3ee3cc1069bd780862bbb0f339265e2386692252f375c1e380bc8f5f + md5: 0f366d30bc01ea47e04b7034d408d6d4 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libgcc >=13 + - libstdcxx >=13 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1104185 + timestamp: 1726670404384 +- kind: conda + name: libparquet + version: 17.0.0 + build: hf0ba9ef_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-17.0.0-hf0ba9ef_16_cpu.conda + sha256: 6ed28f06409b02a9f521ee5e8cf2f4d3fb63a7633c11f2ee7ec2880e78e184e5 + md5: 517ecf2ee0c2822e6120c258f3acd383 + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libcxx >=17 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 873007 + timestamp: 1726670938318 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hc39d83c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-4.25.3-hc39d83c_1.conda + sha256: f51bde2dfe73968ab3090c1098f520b65a8d8f11e945cb13bf74d19e30966b61 + md5: fa77986d9170450c014586ab87e144f8 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcxx >=17 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2177164 + timestamp: 1727160770879 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hd5b35b9_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.3-hd5b35b9_1.conda + sha256: 8b5e4e31ed93bf36fd14e9cf10cd3af78bb9184d0f1f87878b8d28c0374aa4dc + md5: 06def97690ef90781a91b786cb48a0a9 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2883090 + timestamp: 1727161327039 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hea2c3fa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-4.25.3-hea2c3fa_1.conda + sha256: dabf4632d39b29444d157c226f4df146fa347c82540c39bf6f9545f2a7d0f40c + md5: c06acb4f972c516696590e6d6ffb69c7 + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2613905 + timestamp: 1727160673211 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h5a48ba9_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2023.09.01-h5a48ba9_2.conda + sha256: 3f3c65fe0e9e328b4c1ebc2b622727cef3e5b81b18228cfa6cf0955bc1ed8eff + md5: 41c69fba59d495e8cf5ffda48a607e35 + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 232603 + timestamp: 1708946763521 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h7b2c953_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2023.09.01-h7b2c953_2.conda + sha256: c8a0a6e7a627dc9c66ffb8858f8f6d499f67fd269b6636b25dc5169760610f05 + md5: 0b7b2ced046d6b5fe6e9d46b1ee0324c + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libcxx >=16 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 171443 + timestamp: 1708947163461 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h9d008c2_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libre2-11-2023.09.01-h9d008c2_2.conda + sha256: 1da5cfd57091a52c822ec9580694f1e07817e53db43b0407a477daa2d2a16fcd + md5: 387c114aadcaeb02210f646c4b5efca2 + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 217529 + timestamp: 1708946830978 +- kind: conda + name: libsodium + version: 1.0.20 + build: h4ab18f5_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + sha256: 0105bd108f19ea8e6a78d2d994a6d4a8db16d19a41212070d2d1d48a63c34161 + md5: a587892d3c13b6621a6091be690dbca2 + depends: + - libgcc-ng >=12 + license: ISC + size: 205978 + timestamp: 1716828628198 +- kind: conda + name: libsodium + version: 1.0.20 + build: h68df207_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.20-h68df207_0.conda + sha256: 448df5ea3c5cf1af785aad46858d7a5be0522f4234a4dc9bb764f4d11ff3b981 + md5: 2e4a8f23bebdcb85ca8e5a0fbe75666a + depends: + - libgcc-ng >=12 + license: ISC + size: 177394 + timestamp: 1716828514515 +- kind: conda + name: libsodium + version: 1.0.20 + build: h99b78c6_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.20-h99b78c6_0.conda + sha256: fade8223e1e1004367d7101dd17261003b60aa576df6d7802191f8972f7470b1 + md5: a7ce36e284c5faaf93c220dfc39e3abd + depends: + - __osx >=11.0 + license: ISC + size: 164972 + timestamp: 1716828607917 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hadc24fc_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + sha256: 8a9aadf996a2399f65b679c6e7f29139d5059f699c63e6d7b50e20db10c00508 + md5: b6f02b52a174e612e89548f4663ce56a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 875349 + timestamp: 1730208050020 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hbaaea75_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e + md5: 07a14fbe439eef078cc479deca321161 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 837683 + timestamp: 1730208293578 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hc4a20ef_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.47.0-hc4a20ef_1.conda + sha256: 73e143fdb966b61cd25ab804d416d87dfce43ac684e0fac3ad8b1450796331ab + md5: a6b185aac10d08028340858f77231b23 + depends: + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 1041855 + timestamp: 1730208187962 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h0841786_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d + md5: 1f5a58e686b13bcfde88b93f547d23fe + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 271133 + timestamp: 1685837707056 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h492db2e_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.0-h492db2e_0.conda + sha256: 409163dd4a888b9266369f1bce57b5ca56c216e34249637c3e10eb404e356171 + md5: 45532845e121677ad328c9af9953f161 + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 284335 + timestamp: 1685837600415 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h7a5bd25_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.0-h7a5bd25_0.conda + sha256: bb57d0c53289721fff1eeb3103a1c6a988178e88d8a8f4345b0b91a35f0e0015 + md5: 029f7dc931a3b626b94823bc77830b01 + depends: + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 255610 + timestamp: 1685837894256 +- kind: conda + name: libstdcxx + version: 14.2.0 + build: h3f4de04_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-14.2.0-h3f4de04_1.conda + sha256: 519556d2c93f1b487091ce046d62e762286177f4a670ec10e16005177d0bcab3 + md5: 37f489acd39e22b623d2d1e5ac6d195c + depends: + - libgcc 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3816794 + timestamp: 1729089463404 +- kind: conda + name: libstdcxx + version: 14.2.0 + build: hc0a3c3a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda + sha256: 4661af0eb9bdcbb5fb33e5d0023b001ad4be828fccdcc56500059d56f9869462 + md5: 234a5554c53625688d51062645337328 + depends: + - libgcc 14.2.0 h77fa898_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3893695 + timestamp: 1729027746910 +- kind: conda + name: libstdcxx-ng + version: 14.2.0 + build: h4852527_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda + sha256: 25bb30b827d4f6d6f0522cc0579e431695503822f144043b93c50237017fffd8 + md5: 8371ac6457591af2cf6159439c1fd051 + depends: + - libstdcxx 14.2.0 hc0a3c3a_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54105 + timestamp: 1729027780628 +- kind: conda + name: libstdcxx-ng + version: 14.2.0 + build: hf1166c9_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-14.2.0-hf1166c9_1.conda + sha256: 9f97461bd55a2745a7a0941f3502a047f15bfe7bb2952dc7fb204b3202f866fd + md5: 0e75771b8a03afae5a2c6ce71bc733f5 + depends: + - libstdcxx 14.2.0 h3f4de04_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54133 + timestamp: 1729089498541 +- kind: conda + name: libthrift + version: 0.20.0 + build: h0e7cc3e_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.20.0-h0e7cc3e_1.conda + sha256: 3e70dfda31a3ce28310c86cc0001f20abb78c917502e12c94285a1337fe5b9f0 + md5: d0ed81c4591775b70384f4cc78e05cd1 + depends: + - __glibc >=2.17,<3.0.a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc-ng >=13 + - libstdcxx-ng >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 417404 + timestamp: 1724652349098 +- kind: conda + name: libthrift + version: 0.20.0 + build: h154c74f_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libthrift-0.20.0-h154c74f_1.conda + sha256: 283a6fbac3e6de97f25144306fb46dc5f6d6fc7f4052a4f8ec6da0cb806025b5 + md5: c0bd829d4ef1b1be0c5b8bf206c0cd6d + depends: + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc-ng >=13 + - libstdcxx-ng >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 408434 + timestamp: 1724652544563 +- kind: conda + name: libthrift + version: 0.20.0 + build: h64651cc_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.20.0-h64651cc_1.conda + sha256: b6afcbc934258e0474e0f1059bc7b23865723b902062f2f2910e0370e6495401 + md5: 4cf2e5233320648397184415f380c891 + depends: + - __osx >=11.0 + - libcxx >=17 + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 315041 + timestamp: 1724657608736 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.8.0-h166bdaf_0.tar.bz2 + sha256: 49082ee8d01339b225f7f8c60f32a2a2c05fe3b16f31b554b4fb2c1dea237d1c + md5: ede4266dc02e875fe1ea77b25dd43747 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 101070 + timestamp: 1667316029302 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h1a8c8d9_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.8.0-h1a8c8d9_0.tar.bz2 + sha256: a3faddac08efd930fa3a1cc254b5053b4ed9428c49a888d437bf084d403c931a + md5: f8c9c41a122ab3abdf8943b13f4957ee + license: MIT + license_family: MIT + size: 103492 + timestamp: 1667316405233 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h4e544f5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libutf8proc-2.8.0-h4e544f5_0.tar.bz2 + sha256: c1956b64ad9613c66cf87398f5e2c36d071034a93892da7e8cc22e75cface878 + md5: bf0defbd8ac06270fb5ec05c85fb3c96 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 101529 + timestamp: 1667315331359 +- kind: conda + name: libuuid + version: 2.38.1 + build: h0b41bf4_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18 + md5: 40b61aab5c7ba9ff276c41cfffe6b80b + depends: + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 33601 + timestamp: 1680112270483 +- kind: conda + name: libuuid + version: 2.38.1 + build: hb4cce97_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.38.1-hb4cce97_0.conda + sha256: 616277b0c5f7616c2cdf36f6c316ea3f9aa5bb35f2d4476a349ab58b9b91675f + md5: 000e30b09db0b7c775b21695dff30969 + depends: + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 35720 + timestamp: 1680113474501 +- kind: conda + name: libuv + version: 1.49.2 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.49.2-h7ab814d_0.conda + sha256: 0e5176af1e788ad5006cf261c4ea5a288a935fda48993b0240ddd2e562dc3d02 + md5: 4bc348e3a1a74d20a3f9beb866d75e0a + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 410500 + timestamp: 1729322654121 +- kind: conda + name: libuv + version: 1.49.2 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.49.2-h86ecc28_0.conda + sha256: adf4eca89339ac7780f2394e7e6699be81259eb91f79f9d9fdf2c1bc6b26f210 + md5: 1899e1ec2be63386c41c4db31d3056af + depends: + - libgcc >=13 + license: MIT + license_family: MIT + size: 627484 + timestamp: 1729322575379 +- kind: conda + name: libuv + version: 1.49.2 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda + sha256: a35cd81cd1a9add11024097da83cc06b0aae83186fe4124b77710876f37d8f31 + md5: 070e3c9ddab77e38799d5c30b109c633 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 884647 + timestamp: 1729322566955 +- kind: conda + name: libxcrypt + version: 4.4.36 + build: h31becfc_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + sha256: 6b46c397644091b8a26a3048636d10b989b1bf266d4be5e9474bf763f828f41f + md5: b4df5d7d4b63579d081fd3a4cf99740e + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 114269 + timestamp: 1702724369203 +- kind: conda + name: libxcrypt + version: 4.4.36 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 100393 + timestamp: 1702724383534 +- kind: conda + name: libxml2 + version: 2.13.4 + build: h064dc61_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.4-h064dc61_2.conda + sha256: d80f927754f8531768723f23b367d0cff24faa307cc5a64d146b23fddb8a2976 + md5: 61e2f77697c8c502633743bc0d160a80 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + constrains: + - icu <0.0a0 + license: MIT + license_family: MIT + size: 689361 + timestamp: 1730355822995 +- kind: conda + name: libxml2 + version: 2.13.4 + build: h8424949_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.4-h8424949_2.conda + sha256: 51048cd9d4d7ab3ab440bac01d1db8193ae1bd3e9502cdf6792a69c792fec2e5 + md5: 3f0764c38bc02720231d49d6035531f2 + depends: + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + license: MIT + license_family: MIT + size: 572400 + timestamp: 1730356085177 +- kind: conda + name: libxml2 + version: 2.13.4 + build: hf4efe5d_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.13.4-hf4efe5d_2.conda + sha256: 69d6197742a7cca2c9a030bf5c6f61d943d45deeaeb3b2df92ebdfd933524ae0 + md5: 0e28ab30d29c5a566d05bf73dfc5c184 + depends: + - icu >=75.1,<76.0a0 + - libgcc >=13 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + license: MIT + license_family: MIT + size: 733127 + timestamp: 1730356005200 +- kind: conda + name: libzlib + version: 1.3.1 + build: h8359307_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b + md5: 369964e85dc26bfe78f41399b366c435 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 46438 + timestamp: 1727963202283 +- kind: conda + name: libzlib + version: 1.3.1 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + sha256: 5a2c1eeef69342e88a98d1d95bff1603727ab1ff4ee0e421522acd8813439b84 + md5: 08aad7cbe9f5a6b460d0976076b6ae64 + depends: + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 66657 + timestamp: 1727963199518 +- kind: conda + name: libzlib + version: 1.3.1 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + md5: edb0dca6bc32e4f4789199455a1dbeb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 60963 + timestamp: 1727963148474 +- kind: conda + name: llvm-openmp + version: 19.1.3 + build: hb52a8e5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + sha256: 49a8940e727aa82ee034fa9a60b3fcababec41b3192d955772aab635a5374b82 + md5: dd695d23e78d1ca4fecce969b1e1db61 + depends: + - __osx >=11.0 + constrains: + - openmp 19.1.3|19.1.3.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + size: 280488 + timestamp: 1730364082380 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hb7217d7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.9.4-hb7217d7_0.conda + sha256: fc343b8c82efe40819b986e29ba748366514e5ab94a1e1138df195af5f45fa24 + md5: 45505bec548634f7d05e02fb25262cb9 + depends: + - libcxx >=14.0.6 + license: BSD-2-Clause + license_family: BSD + size: 141188 + timestamp: 1674727268278 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hcb278e6_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + sha256: 1b4c105a887f9b2041219d57036f72c4739ab9e9fe5a1486f094e58c76b31f5f + md5: 318b08df404f9c9be5712aaa5a6f0bb0 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 143402 + timestamp: 1674727076728 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hd600fc2_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.9.4-hd600fc2_0.conda + sha256: 076870eb72411f41c46598c7582a2f3f42ba94c526a2d60a0c8f70a0a7a64429 + md5: 500145a83ed07ce79c8cef24252f366b + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 163770 + timestamp: 1674727020254 +- kind: conda + name: markdown-it-py + version: 3.0.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + sha256: c041b0eaf7a6af3344d5dd452815cdc148d6284fec25a4fa3f4263b3a021e962 + md5: 93a8e71256479c62074356ef6ebf501b + depends: + - mdurl >=0.1,<1 + - python >=3.8 + license: MIT + license_family: MIT + size: 64356 + timestamp: 1686175179621 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py311h2dc5d0c_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py311h2dc5d0c_0.conda + sha256: 364a0d55abc4c60bc575c81a4acc9e98ea27565147d4d4dc672bad4b2d069710 + md5: 15e4dadd59e93baad7275249f10b9472 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 25591 + timestamp: 1729351519326 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py311h56c23cb_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py311h56c23cb_0.conda + sha256: 74bbdf6dbfe561026fed5c7d5c1a123e6dff0fedc5bc7ed0c6e9037c95ca96d7 + md5: be48a4cc178a91af3b1ccd58c14efde2 + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 25180 + timestamp: 1729351536390 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py311ha09ea12_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.2-py311ha09ea12_0.conda + sha256: 8714908e7190f362bc04636e6ff28ae8a3c008bbc92b126839ce7130c0c975f5 + md5: f40833364f9c3e847cc35a94c055f5c2 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 25805 + timestamp: 1729352296161 +- kind: conda + name: max + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + sha256: 1ea0dc89ca870e0a3c07b8b114552cf7f2027da77d123461536e47d9c1634b29 + md5: 2550d99437980c05b27fd7dd5af4a8fb + depends: + - max-core ==24.6.0.dev2024110605 release + - max-python >=24.6.0.dev2024110605,<25.0a0 + - mojo-jupyter ==24.6.0.dev2024110605 release + - mblack ==24.6.0.dev2024110605 release + license: LicenseRef-Modular-Proprietary + size: 9925 + timestamp: 1730870435927 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: linux-64 + url: https://conda.modular.com/max-nightly/linux-64/max-core-24.6.0.dev2024110605-release.conda + sha256: 9c73e9704f605597eb934d073ed47b51bbbc478e7fc61bb5a81d6274e20424c9 + md5: 9b106fdf79de7e28aea5f87f37f8b14c + depends: + - mblack ==24.6.0.dev2024110605 release + arch: x86_64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 249918952 + timestamp: 1730870435925 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: linux-aarch64 + url: https://conda.modular.com/max-nightly/linux-aarch64/max-core-24.6.0.dev2024110605-release.conda + sha256: e51712451719a1abe82e210c9c4746e0efb98cc39c1b98d6f0c650dae57876ff + md5: 484178e675e74c28aa901b6b63e891a0 + depends: + - mblack ==24.6.0.dev2024110605 release + arch: aarch64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 253754305 + timestamp: 1730870417979 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: osx-arm64 + url: https://conda.modular.com/max-nightly/osx-arm64/max-core-24.6.0.dev2024110605-release.conda + sha256: b28b8d31cf97ef7b0845846593bcaf347c06c310d9964e2c1528fc93cc38dc9d + md5: f821af8af4dbbde26a1da3263989f235 + depends: + - mblack ==24.6.0.dev2024110605 release + arch: arm64 + platform: osx + license: LicenseRef-Modular-Proprietary + size: 214052557 + timestamp: 1730870539271 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.11release + subdir: linux-64 + url: https://conda.modular.com/max-nightly/linux-64/max-python-24.6.0.dev2024110605-3.11release.conda + sha256: 1e24ffd0e23f6a2c606b758a021f7540106d652d21a9b53ed75e433fbc9477aa + md5: 89a18555cab1c5d042bb2a50702e95d9 + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.11.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.11.* *_cp311 + arch: x86_64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 125086849 + timestamp: 1730870435933 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.11release + subdir: linux-aarch64 + url: https://conda.modular.com/max-nightly/linux-aarch64/max-python-24.6.0.dev2024110605-3.11release.conda + sha256: 1e19dabdfabb784c1e6bc1f661283218f9cf1cf2356be2add4410308e3cb7282 + md5: a1a3a99c0e2375d50ba2494ab939de3b + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.11.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.11.* *_cp311 + arch: aarch64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 128656010 + timestamp: 1730870417988 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.11release + subdir: osx-arm64 + url: https://conda.modular.com/max-nightly/osx-arm64/max-python-24.6.0.dev2024110605-3.11release.conda + sha256: 9dc58579e9cb0e364b9db9460e1503cf51bef4f25caee95004355b3a336ef244 + md5: f60ed4f10d7aeab3fbf10b9d4f31b997 + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.11.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.11.* *_cp311 + arch: arm64 + platform: osx + license: LicenseRef-Modular-Proprietary + size: 114798550 + timestamp: 1730870539273 +- kind: conda + name: mblack + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + sha256: 5a57b56bce08df93a312a2573640fa78243f858646cc15e94c12243160640948 + md5: d879bf770a6e192452cb270422994729 + depends: + - python >=3.9,<3.13 + - click >=8.0.0 + - mypy_extensions >=0.4.3 + - packaging >=22.0 + - pathspec >=0.9.0 + - platformdirs >=2 + - python + license: MIT + size: 130423 + timestamp: 1730870435932 +- kind: conda + name: mdurl + version: 0.1.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + sha256: 64073dfb6bb429d52fff30891877b48c7ec0f89625b1bf844905b66a81cce6e1 + md5: 776a8dd9e824f77abac30e6ef43a8f7a + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 14680 + timestamp: 1704317789138 +- kind: conda + name: mojo-jupyter + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + sha256: 1d198c3c1fdacf27951dabafdb6d1eebfd16137fa443a5768631f260a3e72da1 + md5: bf4cab55725d54ec0faedc00e0b07e66 + depends: + - max-core ==24.6.0.dev2024110605 release + - python >=3.9,<3.13 + - jupyter_client >=8.6.2,<8.7 + - python + license: LicenseRef-Modular-Proprietary + size: 22952 + timestamp: 1730870435934 +- kind: conda + name: multidict + version: 6.1.0 + build: py311h2dc5d0c_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.1.0-py311h2dc5d0c_1.conda + sha256: a7216675325306e3efe30d7036c53379eb391517792d051d738027bc3740aad5 + md5: 5384f857bd8b0fc3a62ce1ece858c89f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 63150 + timestamp: 1729065611493 +- kind: conda + name: multidict + version: 6.1.0 + build: py311h30e7462_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.1.0-py311h30e7462_1.conda + sha256: 9e7beeeef3c13e000e2e9dab38dff3a5284a8c8665019be149db50b4eff9a340 + md5: ff4227ea49745aeddbf45edef09036bc + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 56769 + timestamp: 1729065684471 +- kind: conda + name: multidict + version: 6.1.0 + build: py311h58d527c_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/multidict-6.1.0-py311h58d527c_1.conda + sha256: c37b29609e6779d7d1b2dd43d1f7d42fecff99fa0959cba5a0e63e7b6a1c8c67 + md5: b2ed30e04aa9a856b9e649f2ee9e2aa0 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 64042 + timestamp: 1729065776220 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py311h459d7ec_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/multiprocess-0.70.15-py311h459d7ec_1.conda + sha256: eca27e6fb5fb4ee73f04ae030bce29f5daa46fea3d6abdabb91740646f0d188e + md5: cebd02a02b199549a57e0d70aed7e2dc + depends: + - dill >=0.3.6 + - libgcc-ng >=12 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 339543 + timestamp: 1695459055911 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py311hcd402e7_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/multiprocess-0.70.15-py311hcd402e7_1.conda + sha256: 126190f2f981ea84cbf891a2ff6ff52e1bdd681c48392db40b79da0e9e786af8 + md5: bd07035dd460220466bcab62cefced4d + depends: + - dill >=0.3.6 + - libgcc-ng >=12 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 339518 + timestamp: 1695459050286 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py311heffc1b2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/multiprocess-0.70.15-py311heffc1b2_1.conda + sha256: 1bf6f7bd6b3515f26fbd977ad26bfb7012516fb3854fe9f2d715a6fbbf28a5de + md5: 68b2ed99d42d6eea3cecd25b6a151cc9 + depends: + - dill >=0.3.6 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 339630 + timestamp: 1695459263809 +- kind: conda + name: mypy_extensions + version: 1.0.0 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + sha256: f240217476e148e825420c6bc3a0c0efb08c0718b7042fae960400c02af858a3 + md5: 4eccaeba205f0aed9ac3a9ea58568ca3 + depends: + - python >=3.5 + license: MIT + license_family: MIT + size: 10492 + timestamp: 1675543414256 +- kind: conda + name: ncurses + version: '6.5' + build: h7bae524_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + sha256: 27d0b9ff78ad46e1f3a6c96c479ab44beda5f96def88e2fe626e0a49429d8afc + md5: cb2b0ea909b97b3d70cd3921d1445e1a + depends: + - __osx >=11.0 + license: X11 AND BSD-3-Clause + size: 802321 + timestamp: 1724658775723 +- kind: conda + name: ncurses + version: '6.5' + build: hcccb83c_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-hcccb83c_1.conda + sha256: acad4cf1f57b12ee1e42995e6fac646fa06aa026529f05eb8c07eb0a84a47a84 + md5: 91d49c85cacd92caa40cf375ef72a25d + depends: + - libgcc-ng >=12 + license: X11 AND BSD-3-Clause + size: 924472 + timestamp: 1724658573518 +- kind: conda + name: ncurses + version: '6.5' + build: he02047a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + sha256: 6a1d5d8634c1a07913f1c525db6455918cbc589d745fac46d9d6e30340c8731a + md5: 70caf8bb6cf39a0b6b7efc885f51c0fe + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: X11 AND BSD-3-Clause + size: 889086 + timestamp: 1724658547447 +- kind: conda + name: numpy + version: 1.26.4 + build: py311h64a7726_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py311h64a7726_0.conda + sha256: 3f4365e11b28e244c95ba8579942b0802761ba7bb31c026f50d1a9ea9c728149 + md5: a502d7aad449a1206efb366d6a12c52d + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 8065890 + timestamp: 1707225944355 +- kind: conda + name: numpy + version: 1.26.4 + build: py311h69ead2a_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.26.4-py311h69ead2a_0.conda + sha256: 88800a1d9d11c2fccab09d40d36f7001616f5119eaf0ec86186562f33564e651 + md5: 3fd00dd400c8d3f9da12bf33061dd28d + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 7234391 + timestamp: 1707225781489 +- kind: conda + name: numpy + version: 1.26.4 + build: py311h7125741_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py311h7125741_0.conda + sha256: 160a52a01fea44fe9753a2ed22cf13d7b55c8a89ea0b8738546fdbf4795d6514 + md5: 3160b93669a0def35a7a8158ebb33816 + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=16 + - liblapack >=3.9.0,<4.0a0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 6652352 + timestamp: 1707226297967 +- kind: conda + name: openssl + version: 3.3.2 + build: h8359307_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda + sha256: 940fa01c4dc6152158fe8943e05e55a1544cab639df0994e3b35937839e4f4d1 + md5: 1773ebccdc13ec603356e8ff1db9e958 + depends: + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + size: 2882450 + timestamp: 1725410638874 +- kind: conda + name: openssl + version: 3.3.2 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.3.2-h86ecc28_0.conda + sha256: 4669d26dbf81e4d72093d8260f55d19d57204d82b1d9440be83d11d313b5990c + md5: 9e1e477b3f8ee3789297883faffa708b + depends: + - ca-certificates + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 3428083 + timestamp: 1725412266679 +- kind: conda + name: openssl + version: 3.3.2 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda + sha256: cee91036686419f6dd6086902acf7142b4916e1c4ba042e9ca23e151da012b6d + md5: 4d638782050ab6faa27275bed57e9b4e + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 2891789 + timestamp: 1725410790053 +- kind: conda + name: opentelemetry-api + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + sha256: ed8350db9d8f177f2e0eefb4df24c1134f1b39f7ef3e20ac42725a3b860309cd + md5: 947b016e29819585f8f3f82dbb7ede91 + depends: + - deprecated >=1.2.6 + - importlib-metadata >=6.0.0,<7.1.0 + - python >=3.8 + - setuptools >=16.0 + license: Apache-2.0 + license_family: APACHE + size: 43708 + timestamp: 1724916819673 +- kind: conda + name: opentelemetry-exporter-otlp-proto-common + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + sha256: 6ec5cc984ad9c0faef329a1a1507d4431f08812b9053be42a2a736ae081dc3c5 + md5: 00e6c03b1437fa6bf3a775bc8f89f677 + depends: + - backoff >=1.10.0,<3.0.0 + - opentelemetry-proto 1.27.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 18221 + timestamp: 1724929505617 +- kind: conda + name: opentelemetry-exporter-otlp-proto-http + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + sha256: b5b86f0f819b5dd05bf0e67ddaa763086194a751aa534bed44fdbf089b317142 + md5: 3caeb0419f4d0f9ac0538c799df15612 + depends: + - deprecated >=1.2.6 + - googleapis-common-protos ~=1.52 + - opentelemetry-api 1.27.0 + - opentelemetry-exporter-otlp-proto-common 1.27.0 + - opentelemetry-proto 1.27.0 + - opentelemetry-sdk 1.27.0 + - python >=3.8 + - requests ~=2.7 + license: Apache-2.0 + license_family: APACHE + size: 16982 + timestamp: 1724969540619 +- kind: conda + name: opentelemetry-proto + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + sha256: ca0480de7f33511dc983aeaf7de23f49c3a258b185588543f85abcf08b10d000 + md5: 3de386ea142a50514f6bba04c3fb48c0 + depends: + - protobuf >=3.19,<5.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 37620 + timestamp: 1724925809921 +- kind: conda + name: opentelemetry-sdk + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + sha256: fb0e4f664166d168edf455f744d827c2342b4b1e99d035cd2e47721863d845e5 + md5: 1a16e734cd0ebb70d3b79265403beb13 + depends: + - opentelemetry-api 1.27.0 + - opentelemetry-semantic-conventions 0.48b0 + - python >=3.8 + - typing-extensions >=3.7.4 + license: Apache-2.0 + license_family: APACHE + size: 73814 + timestamp: 1724923174196 +- kind: conda + name: opentelemetry-semantic-conventions + version: 0.48b0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + sha256: e2f9a4dbb4eef97e5ab04a73b3898c0f186d57705eae66c6991452385f987e9c + md5: eefd5ed55046af15c08051afb6b0eb6b + depends: + - opentelemetry-api 1.27.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 76393 + timestamp: 1724919708207 +- kind: conda + name: orc + version: 2.0.2 + build: h383807c_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/orc-2.0.2-h383807c_0.conda + sha256: 04cc6054199bdbc2649f1ee1afde87d6274ce9dc6f2c2f22da42810b9c8f323a + md5: e910dc97dc0ce4ab1e1a87f49aff89fd + depends: + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 1046461 + timestamp: 1723760657143 +- kind: conda + name: orc + version: 2.0.2 + build: h669347b_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/orc-2.0.2-h669347b_0.conda + sha256: 8a126e0be7f87c499f0a9b5229efa4321e60fc4ae46abdec9b13240631cb1746 + md5: 1e6c10f7d749a490612404efeb179eb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 1066349 + timestamp: 1723760593232 +- kind: conda + name: orc + version: 2.0.2 + build: h75dedd0_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.0.2-h75dedd0_0.conda + sha256: a23f3a88a6b16363bd13f964b4abd12be1576abac460126f3269cbed12d04840 + md5: 9c89e09cede143716b479c5eacc924fb + depends: + - __osx >=11.0 + - libcxx >=16 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 436164 + timestamp: 1723760750932 +- kind: conda + name: packaging + version: '24.1' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + sha256: 36aca948219e2c9fdd6d80728bcc657519e02f06c2703d8db3446aec67f51d81 + md5: cbe1bb1f21567018ce595d9c2be0f0db + depends: + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 50290 + timestamp: 1718189540074 +- kind: conda + name: pandas + version: 2.2.3 + build: py311h7db5c69_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.3-py311h7db5c69_1.conda + sha256: dce121d3838996b77b810ca9097cc17068552075c761408a9b2eb788cf8fd1b0 + md5: 643f8cb35133eb1be4919fb953f0a25f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.11,<3.12.0a0 + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.11.* *_cp311 + - pytz >=2020.1,<2024.2 + license: BSD-3-Clause + license_family: BSD + size: 15695466 + timestamp: 1726879158862 +- kind: conda + name: pandas + version: 2.2.3 + build: py311h848c333_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pandas-2.2.3-py311h848c333_1.conda + sha256: 8b368a4871bc9c8c9c582fc3539c00a44ae41eb239ca330ee55f9c8bd85a0bfd + md5: 609f8498e89280eeda12a0be33efed35 + depends: + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.11.* *_cp311 + - pytz >=2020.1,<2024.2 + license: BSD-3-Clause + license_family: BSD + size: 15390929 + timestamp: 1726879096370 +- kind: conda + name: pandas + version: 2.2.3 + build: py311h9cb3ce9_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.2.3-py311h9cb3ce9_1.conda + sha256: 0a08027b25e4f6034d7733c7366f44283246d61cb82d1721f8789d50ebfef287 + md5: 9ffa9dee175c76e68ea5de5aa1168d83 + depends: + - __osx >=11.0 + - libcxx >=17 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.11.* *_cp311 + - pytz >=2020.1,<2024.2 + license: BSD-3-Clause + license_family: BSD + size: 14807397 + timestamp: 1726879116250 +- kind: conda + name: pathspec + version: 0.12.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + sha256: 4e534e66bfe8b1e035d2169d0e5b185450546b17e36764272863e22e0370be4d + md5: 17064acba08d3686f1135b5ec1b32b12 + depends: + - python >=3.7 + license: MPL-2.0 + license_family: MOZILLA + size: 41173 + timestamp: 1702250135032 +- kind: conda + name: platformdirs + version: 4.3.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + sha256: c81bdeadc4adcda216b2c7b373f0335f5c78cc480d1d55d10f21823590d7e46f + md5: fd8f2b18b65bbf62e8f653100690c8d2 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 20625 + timestamp: 1726613611845 +- kind: conda + name: propcache + version: 0.2.0 + build: py311h460d6c5_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.2.0-py311h460d6c5_2.conda + sha256: 7e6a656b09d494f0623c8bd0969195d1cd3f62a2ab5a2474a667c88e21cca971 + md5: 8fb75727dfbab541ece9542718cc30f4 + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 48222 + timestamp: 1728546126843 +- kind: conda + name: propcache + version: 0.2.0 + build: py311h9ecbd09_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.2.0-py311h9ecbd09_2.conda + sha256: bc2fbbc3f494884b62f288db2f6d53f57a9a1129cc95138780abdb783c487bc4 + md5: 85a56dd3b692fb5435de1e901354b5b8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 53716 + timestamp: 1728545855994 +- kind: conda + name: propcache + version: 0.2.0 + build: py311ha879c10_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/propcache-0.2.0-py311ha879c10_2.conda + sha256: a572848e9540b4d57064adb3db05c6b89deb0d99dab90b82c5cbc7f4f45811fe + md5: 5e6f032fcfccdafc6b2cb5cd87f4d361 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 53090 + timestamp: 1728546060903 +- kind: conda + name: protobuf + version: 4.25.3 + build: py311h943de5f_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/protobuf-4.25.3-py311h943de5f_1.conda + sha256: 3bc81aa28e5371c1fadfbd7cac900b39b1183491de12768be465c845afe6a8a3 + md5: 93eb88a291c946a938f8825284a0b82b + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 400239 + timestamp: 1725018683245 +- kind: conda + name: protobuf + version: 4.25.3 + build: py311hbffca5d_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py311hbffca5d_1.conda + sha256: 3e06dcdd3ec2e73fb456d5c2fdf9c8829d7f70c15d724f9920a24276a0a1d6b5 + md5: 27089f71e28d01bcc070460d822d5acb + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 398881 + timestamp: 1725018534875 +- kind: conda + name: protobuf + version: 4.25.3 + build: py311hd7a3543_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-4.25.3-py311hd7a3543_1.conda + sha256: 4c7221018c88b9979fd25f97369d4635dee16fc42dd6a9079362edf97eaa5a48 + md5: dacdcae7ce1a0d2f10351fb7b406bf7e + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcxx >=17 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 381079 + timestamp: 1725018857484 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py311h35c05fe_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-17.0.0-py311h35c05fe_2.conda + sha256: dd31365596b92d1225ad5f4ee8698faea6a01a52a4a3bb0ad369b437b09ce6d3 + md5: e9e6452c510ec99ca0a5f00f4c300bcf + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 25766 + timestamp: 1730169580244 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py311h58b41f2_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-17.0.0-py311h58b41f2_2.conda + sha256: e78d7d42f8147bf96f76acd4010867ffead93f2fec8abcf5482a1abde217c715 + md5: 1e8845680e2ba222eaa4405c1e6177dd + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 25743 + timestamp: 1730169950637 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py311hbd00459_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-17.0.0-py311hbd00459_2.conda + sha256: c90d275efa91b3b89335451a7942ba0784f9869da584b7a8c0abae2b26a08b36 + md5: 824d752b0e2037090bb3d75e35e05533 + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: APACHE + size: 25615 + timestamp: 1730169788262 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py311h4854187_2_cpu + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-17.0.0-py311h4854187_2_cpu.conda + sha256: 4d98ea27ae10b241b45d4b5c5988c0aacb232d3a3a23e28b03649df9c029cea2 + md5: a04e64d38ca1fab46b12eb5bfc4f0026 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0.* *cpu + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 4643528 + timestamp: 1730169489406 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py311ha6d2531_2_cpu + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-core-17.0.0-py311ha6d2531_2_cpu.conda + sha256: 98c95b63323c607e61694c4cbf5911fc620263ebff0c3ea792b433ad6baaa51b + md5: 9a4dfd7ab5fa77a3d81ce683b49a8054 + depends: + - libarrow 17.0.0.* *cpu + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 4522594 + timestamp: 1730176383785 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py311he04fa90_2_cpu + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-17.0.0-py311he04fa90_2_cpu.conda + sha256: 310f2a3ea7cf22b81c7b785ce513956d79b4f094d4b5b788eb54b4adb4e9ba7e + md5: f3a2918db5b64a0d725a341775d83deb + depends: + - __osx >=11.0 + - libarrow 17.0.0.* *cpu + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 4025429 + timestamp: 1730169540048 +- kind: conda + name: pycparser + version: '2.22' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + sha256: 406001ebf017688b1a1554b49127ca3a4ac4626ec0fd51dc75ffa4415b720b64 + md5: 844d9eb3b43095b031874477f7d70088 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 105098 + timestamp: 1711811634025 +- kind: conda + name: pydantic + version: 2.9.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + sha256: 1b7b0dc9f6af4da156bf22b0263be70829364a08145c696d3670facff2f6441a + md5: 1eb533bb8eb2199e3fef3e4aa147319f + depends: + - annotated-types >=0.6.0 + - pydantic-core 2.23.4 + - python >=3.7 + - typing-extensions >=4.6.1 + license: MIT + license_family: MIT + size: 300649 + timestamp: 1726601202431 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py311h0ca61a2_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.23.4-py311h0ca61a2_0.conda + sha256: 05512c4ecab4e380194d48b830e1c30b432e3cc7bd7cd6690915b76079e6e6a1 + md5: e6913464018ba4ba9d3fea45e36a1e90 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 1479857 + timestamp: 1726525384987 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py311h481aa64_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.23.4-py311h481aa64_0.conda + sha256: cfb1342c6363a01b1315ac8298a44e56f686d7e82cfdbb04d1ab156939f98ef1 + md5: 9d638548f9a18cab78220984c0fda22b + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 1429587 + timestamp: 1726525496750 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py311h9e33e62_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.23.4-py311h9e33e62_0.conda + sha256: 3cdbe29c2b4aec34aabcf03cf2b34a6284563c03bdb43b63d204e6d9f6f0dbfc + md5: 5e24fd648b7926bec16e535efda533c2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 1616197 + timestamp: 1726525278048 +- kind: conda + name: pydantic-settings + version: 2.6.1 + build: pyh3cfb1c2_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + sha256: b3f331d69f7f3b3272e8e203211bfe39ba728a61fadc9b5c2f091b50084f0187 + md5: 412f950a65ceea20b06263f65d689f6b + depends: + - pydantic >=2.7.0 + - python >=3.8 + - python-dotenv >=0.21.0 + license: MIT + license_family: MIT + size: 30618 + timestamp: 1730473755879 +- kind: conda + name: pygments + version: 2.18.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + sha256: 78267adf4e76d0d64ea2ffab008c501156c108bb08fecb703816fb63e279780b + md5: b7f5c092b8f9800150d998a71b76d5a1 + depends: + - python >=3.8 + license: BSD-2-Clause + license_family: BSD + size: 879295 + timestamp: 1714846885370 +- kind: conda + name: pysocks + version: 1.7.1 + build: pyha2e5f31_6 + build_number: 6 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b + md5: 2a7de29fb590ca14b5243c4c812c8025 + depends: + - __unix + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 18981 + timestamp: 1661604969727 +- kind: conda + name: python + version: 3.11.10 + build: h5d932e8_3_cpython + build_number: 3 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.11.10-h5d932e8_3_cpython.conda + sha256: 59e53e0773660c6e02209f7efc4e2e7918110153a3a11ae0660b4c2c898ac700 + md5: ce35c787630db2ac26327d64c15943e1 + depends: + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-aarch64 >=2.36.1 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 15359622 + timestamp: 1729041715586 +- kind: conda + name: python + version: 3.11.10 + build: hc51fdd5_3_cpython + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.11.10-hc51fdd5_3_cpython.conda + sha256: 95a2c487176867ded825e23eab1e581398f75c5323da0cb7577c3cff3d2f955b + md5: 2a47a0061d7d3030e45b66d23f01d101 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 14598065 + timestamp: 1729042279642 +- kind: conda + name: python + version: 3.11.10 + build: hc5c86c4_3_cpython + build_number: 3 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.11.10-hc5c86c4_3_cpython.conda + sha256: b7fa3bd48e3a3d30f65608e07759cefd27885c6388b3f612af85ce40282e6936 + md5: 9e1ad55c87368e662177661a998feed5 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.11.* *_cp311 + license: Python-2.0 + size: 30543977 + timestamp: 1729043512711 +- kind: conda + name: python-dateutil + version: 2.9.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + sha256: f3ceef02ac164a8d3a080d0d32f8e2ebe10dd29e3a685d240e38b3599e146320 + md5: 2cf4264fffb9e6eff6031c5b6884d61c + depends: + - python >=3.7 + - six >=1.5 + license: Apache-2.0 + license_family: APACHE + size: 222742 + timestamp: 1709299922152 +- kind: conda + name: python-dotenv + version: 1.0.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + sha256: 2d4c80364f03315d606a50eddd493dbacc078e21412c2462c0f781eec49b572c + md5: c2997ea9360ac4e015658804a7a84f94 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 24278 + timestamp: 1706018281544 +- kind: conda + name: python-json-logger + version: 2.0.7 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + sha256: 4790787fe1f4e8da616edca4acf6a4f8ed4e7c6967aa31b920208fc8f95efcca + md5: a61bf9ec79426938ff785eb69dbb1960 + depends: + - python >=3.6 + license: BSD-2-Clause + license_family: BSD + size: 13383 + timestamp: 1677079727691 +- kind: conda + name: python-multipart + version: 0.0.17 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + sha256: f351636a91163de28cf602c755abd1b5ad858e4a790c3a30d5a5aa1066c0550c + md5: a08ea55eb3ad403b12639cd3a4a8d28f + depends: + - python >=3.8 + license: Apache-2.0 + license_family: Apache + size: 27810 + timestamp: 1730382122271 +- kind: conda + name: python-tzdata + version: '2024.2' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + sha256: fe3f62ce2bc714bdaa222ab3f0344a2815ad9e853c6df38d15c9f25de8a3a6d4 + md5: 986287f89929b2d629bd6ef6497dc307 + depends: + - python >=3.6 + license: Apache-2.0 + license_family: APACHE + size: 142527 + timestamp: 1727140688093 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py311h460d6c5_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-xxhash-3.5.0-py311h460d6c5_1.conda + sha256: fbed29039fd5eabf7c8e55dcfba2533673e1e48346efdc16096d2a2bb785e262 + md5: f4d1c51beffde2a6612b993bb9a63622 + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 21621 + timestamp: 1725272333568 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py311h5487e9b_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python-xxhash-3.5.0-py311h5487e9b_1.conda + sha256: b6afb0cf56db20f58746caf340ef6506e97c393c75d3606bc24f250146c31da0 + md5: 5236c2ea626886210fd14e7c005ac732 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 23601 + timestamp: 1725273164263 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py311h9ecbd09_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.5.0-py311h9ecbd09_1.conda + sha256: 77d1b380b672cdcb9b0b79b9d37b7617014219246d26462f92fae0e40fa72d05 + md5: b1796d741ca619dbacb79917b20e5a05 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 23052 + timestamp: 1725272142790 +- kind: conda + name: python_abi + version: '3.11' + build: 5_cp311 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-5_cp311.conda + sha256: 2660b8059b3ee854bc5d3c6b1fce946e5bd2fe8fbca7827de2c5885ead6209de + md5: 139a8d40c8a2f430df31048949e450de + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6211 + timestamp: 1723823324668 +- kind: conda + name: python_abi + version: '3.11' + build: 5_cp311 + build_number: 5 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python_abi-3.11-5_cp311.conda + sha256: 76974c2732919ace87b5f3a634eac93fed6900d557fcae0575787ec0a33c370e + md5: c2078141f21872cc34d9305123ba08f2 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6300 + timestamp: 1723823316891 +- kind: conda + name: python_abi + version: '3.11' + build: 5_cp311 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.11-5_cp311.conda + sha256: adc05729b7e0aca7b436e60a86f10822a92185dfcb48d66d6444e3629d3a1f6a + md5: 3b855e3734344134cb56c410f729c340 + constrains: + - python 3.11.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6308 + timestamp: 1723823096865 +- kind: conda + name: pytz + version: '2024.1' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + sha256: 1a7d6b233f7e6e3bbcbad054c8fd51e690a67b129a899a056a5e45dd9f00cb41 + md5: 3eeeeb9e4827ace8c0c1419c85d590ad + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 188538 + timestamp: 1706886944988 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py311h460d6c5_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py311h460d6c5_1.conda + sha256: 9ae182eef4e96a7c2f46cc9add19496276612663e17429500432631dce31a831 + md5: d32590e7bd388f18b036c6fc402a0cb1 + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 192321 + timestamp: 1725456528007 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py311h9ecbd09_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py311h9ecbd09_1.conda + sha256: e721e5ff389a7b2135917c04b27391be3d3382e261bb60a369b1620655365c3d + md5: abeb54d40f439b86f75ea57045ab8496 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 212644 + timestamp: 1725456264282 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py311ha879c10_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.2-py311ha879c10_1.conda + sha256: c0f373c2944cf18da2cec19bae76284ef54cef44b3925c249d53821e4021d59a + md5: ad89d09994540880f297259742a8428a + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 205817 + timestamp: 1725456351893 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py311h730b646_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-26.2.0-py311h730b646_3.conda + sha256: 7e75589d9c3723ecf314435f15a7b486cebafa89ebf00bb616354e37587dc7ae + md5: b6f3e527de0c0384cd78cfa779bd6ddf + depends: + - __osx >=11.0 + - libcxx >=17 + - libsodium >=1.0.20,<1.0.21.0a0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 365841 + timestamp: 1728642472021 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py311h7deb3e3_3 + build_number: 3 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.2.0-py311h7deb3e3_3.conda + sha256: 3fdef7b3c43474b7225868776a373289a8fd92787ffdf8bed11cf7f39b4ac741 + md5: e0897de1d8979a3bb20ef031ae1f7d28 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 389074 + timestamp: 1728642373938 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py311h826da9f_3 + build_number: 3 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-26.2.0-py311h826da9f_3.conda + sha256: 4bffb8caa7b44ec2974d18a2660bbf9c53553d3343c114a33442ca4a8e192f1a + md5: 2d901569f3142d9c7ea9e89f6f965369 + depends: + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 382698 + timestamp: 1728644123354 +- kind: conda + name: re2 + version: 2023.09.01 + build: h4cba328_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2023.09.01-h4cba328_2.conda + sha256: 0e0d44414381c39a7e6f3da442cb41c637df0dcb383a07425f19c19ccffa0118 + md5: 0342882197116478a42fa4ea35af79c1 + depends: + - libre2-11 2023.09.01 h7b2c953_2 + license: BSD-3-Clause + license_family: BSD + size: 26770 + timestamp: 1708947220914 +- kind: conda + name: re2 + version: 2023.09.01 + build: h7f4b329_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda + sha256: f0f520f57e6b58313e8c41abc7dfa48742a05f1681f05654558127b667c769a8 + md5: 8f70e36268dea8eb666ef14c29bd3cda + depends: + - libre2-11 2023.09.01 h5a48ba9_2 + license: BSD-3-Clause + license_family: BSD + size: 26617 + timestamp: 1708946796423 +- kind: conda + name: re2 + version: 2023.09.01 + build: h9caee61_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/re2-2023.09.01-h9caee61_2.conda + sha256: 31db9c598bfa7586ac2e3ba06681d676caa5d252b5b68f4b6173edc71f70681e + md5: a9667ab785e1686d53313364c695f58e + depends: + - libre2-11 2023.09.01 h9d008c2_2 + license: BSD-3-Clause + license_family: BSD + size: 26726 + timestamp: 1708946863063 +- kind: conda + name: readline + version: '8.2' + build: h8228510_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda + sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7 + md5: 47d31b792659ce70f470b5c82fdfb7a4 + depends: + - libgcc-ng >=12 + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 281456 + timestamp: 1679532220005 +- kind: conda + name: readline + version: '8.2' + build: h8fc344f_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8fc344f_1.conda + sha256: 4c99f7417419734e3797d45bc355e61c26520e111893b0d7087a01a7fbfbe3dd + md5: 105eb1e16bf83bfb2eb380a48032b655 + depends: + - libgcc-ng >=12 + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 294092 + timestamp: 1679532238805 +- kind: conda + name: readline + version: '8.2' + build: h92ec313_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + sha256: a1dfa679ac3f6007362386576a704ad2d0d7a02e98f5d0b115f207a2da63e884 + md5: 8cbb776a2f641b943d413b3e19df71f4 + depends: + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 250351 + timestamp: 1679532511311 +- kind: conda + name: regex + version: 2024.9.11 + build: py311h460d6c5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/regex-2024.9.11-py311h460d6c5_0.conda + sha256: 9fd6788560f2b85e614bdfe1ff56477e1b0e1097f9b7ba4bd2204273525056fe + md5: ac6645d92374c9310f5d27fb282fed7d + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Python-2.0 + license_family: PSF + size: 372817 + timestamp: 1726095940874 +- kind: conda + name: regex + version: 2024.9.11 + build: py311h9ecbd09_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/regex-2024.9.11-py311h9ecbd09_0.conda + sha256: 96543775d25b653c9a0939b63c1d2657115a7ecdbfb36fb60ed8979c3bccd2e8 + md5: 3f88e160ed9b6c987ca37a57c28c6247 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Python-2.0 + license_family: PSF + size: 412379 + timestamp: 1726095731122 +- kind: conda + name: regex + version: 2024.9.11 + build: py311ha879c10_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2024.9.11-py311ha879c10_0.conda + sha256: 984c547976de1ccfa9ee37aa494c52e720e27dc665ed1104016b065c5f9ea87e + md5: 058cc572fe6c8b1736496eceb49ad5a1 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Python-2.0 + license_family: PSF + size: 406108 + timestamp: 1726095860334 +- kind: conda + name: requests + version: 2.32.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + sha256: 5845ffe82a6fa4d437a2eae1e32a1ad308d7ad349f61e337c0a890fe04c513cc + md5: 5ede4753180c7a550a443c430dc8ab52 + depends: + - certifi >=2017.4.17 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - python >=3.8 + - urllib3 >=1.21.1,<3 + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + size: 58810 + timestamp: 1717057174842 +- kind: conda + name: rich + version: 13.9.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + sha256: c009488fc07fd5557434c9c1ad32ab1dd50241d6a766e4b2b4125cd6498585a8 + md5: bcf8cc8924b5d20ead3d122130b8320b + depends: + - markdown-it-py >=2.2.0 + - pygments >=2.13.0,<3.0.0 + - python >=3.8 + - typing_extensions >=4.0.0,<5.0.0 + license: MIT + license_family: MIT + size: 185481 + timestamp: 1730592349978 +- kind: conda + name: s2n + version: 1.5.5 + build: h3931f03_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.5-h3931f03_0.conda + sha256: a6fa0afa836f8f26dea0abc180ca2549bb517932d9a88a121e707135d4bcb715 + md5: 334dba9982ab9f5d62033c61698a8683 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 353081 + timestamp: 1728534228471 +- kind: conda + name: s2n + version: 1.5.5 + build: hc6ade00_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/s2n-1.5.5-hc6ade00_0.conda + sha256: 47e9783a3c2b44b2f718e7cda74c0170e6a8c145688eee76a4395ac06f6e5393 + md5: 7238fdea17af79b5f6928ff278c70d52 + depends: + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 349557 + timestamp: 1728534230496 +- kind: conda + name: safetensors + version: 0.4.5 + build: py311h0ca61a2_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/safetensors-0.4.5-py311h0ca61a2_0.conda + sha256: ce3aa18752eb47e6e55256c0c52ef67786429fdcb2611dd0f7b490049671ef25 + md5: 7d4236d529bacc6d2217a57348965400 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 401351 + timestamp: 1725632381591 +- kind: conda + name: safetensors + version: 0.4.5 + build: py311h481aa64_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/safetensors-0.4.5-py311h481aa64_0.conda + sha256: 283f79e9fe2b09d8c21b28807e914c49ba5cbe09dce731633ee5aa088c234d54 + md5: 0b444f05b9ea222404ea115a35da9131 + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + size: 353541 + timestamp: 1725632251967 +- kind: conda + name: safetensors + version: 0.4.5 + build: py311h9e33e62_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/safetensors-0.4.5-py311h9e33e62_0.conda + sha256: 65cad4de4bf04878abdcede4363f8818ebb895d105b03e996e9b98dcc9a23d01 + md5: 5a58520e8eb4a0119b137fd67a02bb2a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 403087 + timestamp: 1725632204888 +- kind: conda + name: setuptools + version: 75.3.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + sha256: a36d020b9f32fc3f1a6488a1c4a9c13988c6468faf6895bf30ca69521a61230e + md5: 2ce9825396daf72baabaade36cee16da + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 779561 + timestamp: 1730382173961 +- kind: conda + name: shellingham + version: 1.5.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + sha256: 3c49a0a101c41b7cf6ac05a1872d7a1f91f1b6d02eecb4a36b605a19517862bb + md5: d08db09a552699ee9e7eec56b4eb3899 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 14568 + timestamp: 1698144516278 +- kind: conda + name: six + version: 1.16.0 + build: pyh6c4a22f_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6 + md5: e5f25f8dbc060e9a8d912e432202afc2 + depends: + - python + license: MIT + license_family: MIT + size: 14259 + timestamp: 1620240338595 +- kind: conda + name: snappy + version: 1.2.1 + build: h1088aeb_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.1-h1088aeb_0.conda + sha256: 79f5d0a9098acf2ed16e6ecc4c11472b50ccf59feea37a7d585fd43888d7e41f + md5: e4ed5b015f525b56f95c26d85a4ea208 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 42888 + timestamp: 1720003817527 +- kind: conda + name: snappy + version: 1.2.1 + build: ha2e4443_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda + sha256: dc7c8e0e8c3e8702aae81c52d940bfaabe756953ee51b1f1757e891bab62cf7f + md5: 6b7dcc7349efd123d493d2dbe85a045f + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 42465 + timestamp: 1720003704360 +- kind: conda + name: snappy + version: 1.2.1 + build: hd02b534_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-hd02b534_0.conda + sha256: cb7a9440241c6092e0f1c795fdca149c4767023e783eaf9cfebc501f906b4897 + md5: 69d0f9694f3294418ee935da3d5f7272 + depends: + - __osx >=11.0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + size: 35708 + timestamp: 1720003794374 +- kind: conda + name: sniffio + version: 1.3.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + sha256: bc12100b2d8836b93c55068b463190505b8064d0fc7d025e89f20ebf22fe6c2b + md5: 490730480d76cf9c8f8f2849719c6e2b + depends: + - python >=3.7 + license: Apache-2.0 + license_family: Apache + size: 15064 + timestamp: 1708953086199 +- kind: conda + name: sse-starlette + version: 2.1.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + sha256: 6d671a66333410ec7e5e7858a252565a9001366726d1fe3c3a506d7156169085 + md5: 3918255c942c242ed5599e10329e8d0e + depends: + - anyio + - python >=3.8 + - starlette + - uvicorn + license: BSD-3-Clause + license_family: BSD + size: 14712 + timestamp: 1722520112550 +- kind: conda + name: starlette + version: 0.41.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + sha256: 02206e5369944e0fd29e4f5c8e9b51dd926a74a46b621a73323669ad404f1081 + md5: 287492bb6e159da4357a10a2bd05c13c + depends: + - anyio >=3.4.0,<5 + - python >=3.8 + - typing_extensions >=3.10.0 + license: BSD-3-Clause + license_family: BSD + size: 59059 + timestamp: 1730305803101 +- kind: conda + name: tk + version: 8.6.13 + build: h194ca79_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-h194ca79_0.conda + sha256: 7fa27cc512d3a783f38bd16bbbffc008807372499d5b65d089a8e43bde9db267 + md5: f75105e0585851f818e0009dd1dde4dc + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3351802 + timestamp: 1695506242997 +- kind: conda + name: tk + version: 8.6.13 + build: h5083fa2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + sha256: 72457ad031b4c048e5891f3f6cb27a53cb479db68a52d965f796910e71a403a8 + md5: b50a57ba89c32b62428b71a875291c9b + depends: + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3145523 + timestamp: 1699202432999 +- kind: conda + name: tk + version: 8.6.13 + build: noxft_h4845f30_101 + build_number: 101 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e + md5: d453b98d9c83e71da0741bb0ff4d76bc + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3318875 + timestamp: 1699202167581 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py311h182c674_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tokenizers-0.20.3-py311h182c674_0.conda + sha256: d67d6c2e41455f278423e45e6a15b75178b72c74c1e5fc86bde11c6bb541b404 + md5: e921b17fbc6f84c8fcb541ad20f107dd + depends: + - __glibc >=2.17,<3.0.a0 + - huggingface_hub >=0.16.4,<1.0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 2241843 + timestamp: 1730868701129 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py311h5e37e04_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tokenizers-0.20.3-py311h5e37e04_0.conda + sha256: 4802838c34fbf96466e45dfebebe0c8d8f21feeaf2af83fd8843d289791e3f50 + md5: 4c258d740f87f7d158b2915256038d42 + depends: + - huggingface_hub >=0.16.4,<1.0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 2365649 + timestamp: 1730868813351 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py311h82b0fb8_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tokenizers-0.20.3-py311h82b0fb8_0.conda + sha256: 5dc6cb3757f6b5f74457c96db35f8f965b1aaa6964fae721f41de9f5150b8574 + md5: 7e573a11736155aa74ac0a04b3ce0cfc + depends: + - __osx >=11.0 + - huggingface_hub >=0.16.4,<1.0 + - libcxx >=18 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + size: 1918127 + timestamp: 1730869157744 +- kind: conda + name: tornado + version: 6.4.1 + build: py311h460d6c5_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.1-py311h460d6c5_1.conda + sha256: bba4940ef7522c3b4ae6eacd296e5e110de3659f7e4c3654d4fc2bb213c2091c + md5: 8ba6d177509dc4fac7af09749556eed0 + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 859139 + timestamp: 1724956356600 +- kind: conda + name: tornado + version: 6.4.1 + build: py311h5487e9b_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.4.1-py311h5487e9b_1.conda + sha256: 94c073f2c235a2a9fab3da325f5377637628fea82ec4f6c5df560a3f342bfa74 + md5: b21cdf6b47af11c86efb5870ee48c277 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 860132 + timestamp: 1724957323906 +- kind: conda + name: tornado + version: 6.4.1 + build: py311h9ecbd09_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.1-py311h9ecbd09_1.conda + sha256: 21390d0c5708581959ebd89702433c1d06a56ddd834797a194b217f98e38df53 + md5: 616fed0b6f5c925250be779b05d1d7f7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 856725 + timestamp: 1724956239832 +- kind: conda + name: tqdm + version: 4.66.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + sha256: 32c39424090a8cafe7994891a816580b3bd253eb4d4f5473bdefcf6a81ebc061 + md5: 92718e1f892e1e4623dcc59b9f9c4e55 + depends: + - colorama + - python >=3.7 + license: MPL-2.0 or MIT + size: 89367 + timestamp: 1730145312554 +- kind: conda + name: traitlets + version: 5.14.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + sha256: 8a64fa0f19022828513667c2c7176cfd125001f3f4b9bc00d33732e627dd2592 + md5: 3df84416a021220d8b5700c613af2dc5 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 110187 + timestamp: 1713535244513 +- kind: conda + name: transformers + version: 4.46.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + sha256: e654adbaa80a65ffa2209465d23e136dee2d8b1ded3da425c1f8c3a9c3be56a6 + md5: 587e2e9014d6efc236029e9acd8332c2 + depends: + - datasets !=2.5.0 + - filelock + - huggingface_hub >=0.23.0,<1.0 + - numpy >=1.17 + - packaging >=20.0 + - python >=3.8 + - pyyaml >=5.1 + - regex !=2019.12.17 + - requests + - safetensors >=0.4.1 + - tokenizers >=0.20,<0.21 + - tqdm >=4.27 + license: Apache-2.0 + license_family: APACHE + size: 3659906 + timestamp: 1730868580651 +- kind: conda + name: typer + version: 0.12.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + sha256: da9ff9e27c5fa8268c2d5898335485a897d9496eef3b5b446cd9387a89d168de + md5: be70216cc1a5fe502c849676baabf498 + depends: + - python >=3.7 + - typer-slim-standard 0.12.5 hd8ed1ab_0 + license: MIT + license_family: MIT + size: 53350 + timestamp: 1724613663049 +- kind: conda + name: typer-slim + version: 0.12.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + sha256: 7be1876627495047f3f07c52c93ddc2ae2017b93affe58110a5474e5ebcb2662 + md5: a46aa56c0ca7cc2bd38baffc2686f0a6 + depends: + - click >=8.0.0 + - python >=3.7 + - typing_extensions >=3.7.4.3 + constrains: + - rich >=10.11.0 + - typer >=0.12.5,<0.12.6.0a0 + - shellingham >=1.3.0 + license: MIT + license_family: MIT + size: 45641 + timestamp: 1724613646022 +- kind: conda + name: typer-slim-standard + version: 0.12.5 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + sha256: bb298b116159ec1085f6b29eaeb982006651a0997eda08de8b70cfb6177297f3 + md5: 2dc1ee4046de0692077e9aa9ba351d36 + depends: + - rich + - shellingham + - typer-slim 0.12.5 pyhd8ed1ab_0 + license: MIT + license_family: MIT + size: 46817 + timestamp: 1724613648907 +- kind: conda + name: typing-extensions + version: 4.12.2 + build: hd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + sha256: d3b9a8ed6da7c9f9553c5fd8a4fca9c3e0ab712fa5f497859f82337d67533b73 + md5: 52d648bd608f5737b123f510bb5514b5 + depends: + - typing_extensions 4.12.2 pyha770c72_0 + license: PSF-2.0 + license_family: PSF + size: 10097 + timestamp: 1717802659025 +- kind: conda + name: typing_extensions + version: 4.12.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + sha256: 0fce54f8ec3e59f5ef3bb7641863be4e1bf1279623e5af3d3fa726e8f7628ddb + md5: ebe6952715e1d5eb567eeebf25250fa7 + depends: + - python >=3.8 + license: PSF-2.0 + license_family: PSF + size: 39888 + timestamp: 1717802653893 +- kind: conda + name: tzdata + version: 2024b + build: hc8b5060_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf + md5: 8ac3367aafb1cc0a068483c580af8015 + license: LicenseRef-Public-Domain + size: 122354 + timestamp: 1728047496079 +- kind: conda + name: urllib3 + version: 2.2.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + sha256: b6bb34ce41cd93956ad6eeee275ed52390fb3788d6c75e753172ea7ac60b66e5 + md5: 6b55867f385dd762ed99ea687af32a69 + depends: + - brotli-python >=1.0.9 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.8 + - zstandard >=0.18.0 + license: MIT + license_family: MIT + size: 98076 + timestamp: 1726496531769 +- kind: conda + name: uvicorn + version: 0.32.0 + build: pyh31011fe_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + sha256: bc1dd02dfe8ba9654c7ba4f359af1a36f88fdc8299e57e25394c26075e7f5ff2 + md5: 3936b8ca7212040c07565e1379ced362 + depends: + - __unix + - click >=7.0 + - h11 >=0.8 + - python >=3.8 + - typing_extensions >=4.0 + license: BSD-3-Clause + license_family: BSD + size: 49065 + timestamp: 1730219789315 +- kind: conda + name: uvicorn-standard + version: 0.32.0 + build: h31011fe_1 + build_number: 1 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + sha256: 955132d5f09fab2041cb15fe7d85af4526d95b3629b96c90c8191c60001475a5 + md5: ee1094a994894ddd2cdf63174131a589 + depends: + - __unix + - httptools >=0.5.0 + - python-dotenv >=0.13 + - pyyaml >=5.1 + - uvicorn 0.32.0 pyh31011fe_1 + - uvloop >=0.14.0,!=0.15.0,!=0.15.1 + - watchfiles >=0.13 + - websockets >=10.4 + license: BSD-3-Clause + license_family: BSD + size: 7119 + timestamp: 1730219790085 +- kind: conda + name: uvloop + version: 0.21.0 + build: py311h9ecbd09_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.21.0-py311h9ecbd09_1.conda + sha256: 9421eeb1e15b99985bb15dec9cf0f337d332106cea584a147449c91c389a4418 + md5: 66890e34ed6a9bd84f1c189043a928f8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuv >=1.49.2,<2.0a0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: MIT OR Apache-2.0 + size: 677289 + timestamp: 1730214493601 +- kind: conda + name: uvloop + version: 0.21.0 + build: py311ha879c10_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/uvloop-0.21.0-py311ha879c10_1.conda + sha256: 23e592499434da8a721164ab163765152e6f5f94b1a4cea5447803a0cdfd00fb + md5: 744b9c908ae05f4712bf4ea9d98e45c5 + depends: + - libgcc >=13 + - libuv >=1.49.2,<2.0a0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: MIT OR Apache-2.0 + size: 643444 + timestamp: 1730214665299 +- kind: conda + name: uvloop + version: 0.21.0 + build: py311hae2e1ce_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/uvloop-0.21.0-py311hae2e1ce_1.conda + sha256: f42e2ca33beedef252d234d3aac7642432bf8545a6d37c11e58a69f6aee36898 + md5: bc9ca85e86e305b58432c4791b732ae6 + depends: + - __osx >=11.0 + - libuv >=1.49.2,<2.0a0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: MIT OR Apache-2.0 + size: 544025 + timestamp: 1730214665776 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py311h0ca61a2_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/watchfiles-0.24.0-py311h0ca61a2_1.conda + sha256: 2745a126ec7b90ea0ef79c7d6a5ea09d314bcbd14538195618caa1a55f2b4e4f + md5: ce9538fa1fb86bfdf458aaf513fdf3bb + depends: + - anyio >=3.0.0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 400240 + timestamp: 1725347290339 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py311h481aa64_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/watchfiles-0.24.0-py311h481aa64_1.conda + sha256: 30e96f05cd579b3a4f86378e2eddfc0caf62edd9b4938765d5dbfbbc262bf65f + md5: b3c447b6418c567f3726ade082f54f42 + depends: + - __osx >=11.0 + - anyio >=3.0.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 345348 + timestamp: 1725347436809 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py311h9e33e62_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.24.0-py311h9e33e62_1.conda + sha256: ad31508aba4c726e95949a66a65605146dbc8aaccce3091617162da87f857cdb + md5: 31c07a7fc0a2bf4a34808a686bf3de19 + depends: + - __glibc >=2.17,<3.0.a0 + - anyio >=3.0.0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 395778 + timestamp: 1725347224229 +- kind: conda + name: websockets + version: '13.1' + build: py311h460d6c5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-13.1-py311h460d6c5_0.conda + sha256: ba7da465a80d57d4d0f0d1402747156564fc6e82dfe2a229bef37baa21bd3b24 + md5: 39650b49d5f4236fdd140a81a3ea8a0a + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 237533 + timestamp: 1727013542785 +- kind: conda + name: websockets + version: '13.1' + build: py311h9ecbd09_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.1-py311h9ecbd09_0.conda + sha256: 531d6bf60ef0238a9143b28c732c42dc9787caac8204803c834423f5e483b9f5 + md5: 764e663b48ba5560f3c633384a35ea4d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 236892 + timestamp: 1727013475465 +- kind: conda + name: websockets + version: '13.1' + build: py311ha879c10_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/websockets-13.1-py311ha879c10_0.conda + sha256: abc8ee8566ce449dcb294aa40dcaab87ed2d5bfd89e69340303e64afd73914ad + md5: 6a91f604387a201553b2ff42bdb20839 + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: BSD-3-Clause + license_family: BSD + size: 237501 + timestamp: 1727013552559 +- kind: conda + name: wrapt + version: 1.16.0 + build: py311h460d6c5_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.16.0-py311h460d6c5_1.conda + sha256: 5667c48efd5e19e2754660293f00899dfd92b9228e19e7140cc46efcd0af8784 + md5: ff3535f6abd3ec8e0589ead32a8c86fc + depends: + - __osx >=11.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: BSD-2-Clause + license_family: BSD + size: 60435 + timestamp: 1724958101626 +- kind: conda + name: wrapt + version: 1.16.0 + build: py311h9ecbd09_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py311h9ecbd09_1.conda + sha256: 426ee582e676e15a85846743060710fc4dbe4dd562b21d80d751694ffa263e41 + md5: 810ae646bcc50a017380336d874e4014 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: BSD-2-Clause + license_family: BSD + size: 63403 + timestamp: 1724958070675 +- kind: conda + name: wrapt + version: 1.16.0 + build: py311ha879c10_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/wrapt-1.16.0-py311ha879c10_1.conda + sha256: ab47023042314222cbbff26093795476769b68a24f8cb117021d9c39233a7168 + md5: b6853a9d288024ce2c8c8de30376f5af + depends: + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: BSD-2-Clause + license_family: BSD + size: 64144 + timestamp: 1724958112306 +- kind: conda + name: xxhash + version: 0.8.2 + build: h31becfc_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/xxhash-0.8.2-h31becfc_0.conda + sha256: 4c526aed70b579d80e5c20d32130b6bc8bde59b3250d43c2b5269755f4da8a9b + md5: bb9faf6857108a9f62ebb4dab6ef05da + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 102442 + timestamp: 1689951682147 +- kind: conda + name: xxhash + version: 0.8.2 + build: hb547adb_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xxhash-0.8.2-hb547adb_0.conda + sha256: a70f59f7221ee72c45b39a6b36a33eb9c717ba01921cce1a3c361a4676979a2e + md5: 144cd3b88706507f332f5eb5fb83a33b + license: BSD-2-Clause + license_family: BSD + size: 97593 + timestamp: 1689951969732 +- kind: conda + name: xxhash + version: 0.8.2 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.2-hd590300_0.conda + sha256: 6fe74a8fd84ab0dc25e4dc3e0c22388dd8accb212897a208b14fe5d4fbb8fc2f + md5: f08fb5c89edfc4aadee1c81d4cfb1fa1 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 97691 + timestamp: 1689951608120 +- kind: conda + name: xz + version: 5.2.6 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162 + md5: 2161070d867d1b1204ea749c8eec4ef0 + depends: + - libgcc-ng >=12 + license: LGPL-2.1 and GPL-2.0 + size: 418368 + timestamp: 1660346797927 +- kind: conda + name: xz + version: 5.2.6 + build: h57fd34a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec + md5: 39c6b54e94014701dd157f4f576ed211 + license: LGPL-2.1 and GPL-2.0 + size: 235693 + timestamp: 1660346961024 +- kind: conda + name: xz + version: 5.2.6 + build: h9cdd2b7_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/xz-5.2.6-h9cdd2b7_0.tar.bz2 + sha256: 93f58a7b393adf41fa007ac8c55978765e957e90cd31877ece1e5a343cb98220 + md5: 83baad393a31d59c20b63ba4da6592df + depends: + - libgcc-ng >=12 + license: LGPL-2.1 and GPL-2.0 + size: 440555 + timestamp: 1660348056328 +- kind: conda + name: yaml + version: 0.2.5 + build: h3422bc3_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 + sha256: 93181a04ba8cfecfdfb162fc958436d868cc37db504c58078eab4c1a3e57fbb7 + md5: 4bb3f014845110883a3c5ee811fd84b4 + license: MIT + license_family: MIT + size: 88016 + timestamp: 1641347076660 +- kind: conda + name: yaml + version: 0.2.5 + build: h7f98852_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 + sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535 + md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 89141 + timestamp: 1641346969816 +- kind: conda + name: yaml + version: 0.2.5 + build: hf897c2e_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-hf897c2e_2.tar.bz2 + sha256: 8bc601d6dbe249eba44b3c456765265cd8f42ef1e778f8df9b0c9c88b8558d7e + md5: b853307650cb226731f653aa623936a4 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 92927 + timestamp: 1641347626613 +- kind: conda + name: yarl + version: 1.16.0 + build: py311h9ecbd09_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.16.0-py311h9ecbd09_0.conda + sha256: 949fee5b985113293c10a925ff9290deb5552d185f99bb17f9b0da51c9941f77 + md5: d9c23163e7ac5f8926372c7d792a996f + depends: + - __glibc >=2.17,<3.0.a0 + - idna >=2.0 + - libgcc >=13 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 150436 + timestamp: 1729798497731 +- kind: conda + name: yarl + version: 1.16.0 + build: py311ha879c10_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/yarl-1.16.0-py311ha879c10_0.conda + sha256: eb9bb9ddb14798a3769e9934e540d7fb8c0d61c3980478dc2249b447d5b3c565 + md5: bcac90c8c6cfd60a8fcc8bce889988c8 + depends: + - idna >=2.0 + - libgcc >=13 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 148892 + timestamp: 1729798635841 +- kind: conda + name: yarl + version: 1.16.0 + build: py311hae2e1ce_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.16.0-py311hae2e1ce_0.conda + sha256: de25041378a43fb0f178b3faf2cb5059c5dae8fddce0aa44777bb92d6618f044 + md5: 7857fc6365ac18c8d1f15a0dc24f598c + depends: + - __osx >=11.0 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + license: Apache-2.0 + license_family: Apache + size: 139424 + timestamp: 1729798679046 +- kind: conda + name: zeromq + version: 4.3.5 + build: h3b0a872_6 + build_number: 6 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_6.conda + sha256: e67288b1c98a31ee58a5c07bdd873dbe08e75f752e1ad605d5e8c0697339903e + md5: 113506c8d2d558e733f5c38f6bf08c50 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + license: MPL-2.0 + license_family: MOZILLA + size: 335528 + timestamp: 1728364029042 +- kind: conda + name: zeromq + version: 4.3.5 + build: h5efb499_6 + build_number: 6 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-h5efb499_6.conda + sha256: 7cf61f742757ebb8773c5c96a9d768e06a288a0b9bd95ba212dccd17fae25abb + md5: c395b75ab44b4f82e5531de2cf9d20ba + depends: + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + license: MPL-2.0 + license_family: MOZILLA + size: 371083 + timestamp: 1728368602099 +- kind: conda + name: zeromq + version: 4.3.5 + build: h9f5b81c_6 + build_number: 6 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h9f5b81c_6.conda + sha256: 5c5061c976141eccbbb2aec21483ddd10fd1df4fd9bcf638e3fd57b2bd85721f + md5: 84121ef1717cdfbecedeae70142706cc + depends: + - __osx >=11.0 + - krb5 >=1.21.3,<1.22.0a0 + - libcxx >=17 + - libsodium >=1.0.20,<1.0.21.0a0 + license: MPL-2.0 + license_family: MOZILLA + size: 280870 + timestamp: 1728363954972 +- kind: conda + name: zipp + version: 3.20.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + sha256: 1e84fcfa41e0afdd87ff41e6fbb719c96a0e098c1f79be342293ab0bd8dea322 + md5: 4daaed111c05672ae669f7036ee5bba3 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 21409 + timestamp: 1726248679175 +- kind: conda + name: zstandard + version: 0.23.0 + build: py311ha60cc69_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py311ha60cc69_1.conda + sha256: d2f2f1a408e2353fc61d2bf064313270be2260ee212fe827dcf3cfd3754f1354 + md5: 29d320d6450b2948740a9be3761b2e9d + depends: + - __osx >=11.0 + - cffi >=1.11 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 332271 + timestamp: 1725305847224 +- kind: conda + name: zstandard + version: 0.23.0 + build: py311hbc35293_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py311hbc35293_1.conda + sha256: a5cf0eef1ffce0d710eb3dffcb07d9d5922d4f7a141abc96f6476b98600f718f + md5: aec590674ba365e50ae83aa2d6e1efae + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=1.11 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python_abi 3.11.* *_cp311 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 417923 + timestamp: 1725305669690 +- kind: conda + name: zstandard + version: 0.23.0 + build: py311hd5293d8_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zstandard-0.23.0-py311hd5293d8_1.conda + sha256: 44c4c8e718f7f50c985d9b3de23760fb01987e6307301eef0bcfc26862094690 + md5: 7a022310d8759b7d251717b09242ee13 + depends: + - cffi >=1.11 + - libgcc >=13 + - python >=3.11,<3.12.0a0 + - python >=3.11,<3.12.0a0 *_cpython + - python_abi 3.11.* *_cp311 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 391826 + timestamp: 1725305804278 +- kind: conda + name: zstd + version: 1.5.6 + build: h02f22dd_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.6-h02f22dd_0.conda + sha256: 484f9d0722c77685ae379fbff3ccd662af9ead7e59eb39cd6d0c677cdf25ff6c + md5: be8d5f8cf21aed237b8b182ea86b3dd6 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 539937 + timestamp: 1714723130243 +- kind: conda + name: zstd + version: 1.5.6 + build: ha6fb4c9_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda + sha256: c558b9cc01d9c1444031bd1ce4b9cff86f9085765f17627a6cd85fc623c8a02b + md5: 4d056880988120e29d75bfff282e0f45 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 554846 + timestamp: 1714722996770 +- kind: conda + name: zstd + version: 1.5.6 + build: hb46c0d2_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda + sha256: 2d4fd1ff7ee79cd954ca8e81abf11d9d49954dd1fef80f27289e2402ae9c2e09 + md5: d96942c06c3e84bfcc5efb038724a7fd + depends: + - __osx >=11.0 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 405089 + timestamp: 1714723101397 diff --git a/examples/notebooks/Matmul.ipynb b/examples/notebooks/Matmul.ipynb index a25647594c..f7a4a796a4 100644 --- a/examples/notebooks/Matmul.ipynb +++ b/examples/notebooks/Matmul.ipynb @@ -264,7 +264,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Then, we can copy and paste our Python code. Mojo is a superset of Python, so the same Python code will run as Mojo code" + "Then, we can copy and paste our Python code. Mojo adopts the syntax of Python, so the same Python code will run as Mojo code" ] }, { diff --git a/examples/notebooks/magic.lock b/examples/notebooks/magic.lock new file mode 100644 index 0000000000..bf71820778 --- /dev/null +++ b/examples/notebooks/magic.lock @@ -0,0 +1,10033 @@ +version: 5 +environments: + default: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.modular.com/max-nightly/ + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.10.10-py312h178313f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h66e93f0_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.31-he1a10d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.7.4-hae4d56a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.29-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.19-h2bff981_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.4.3-h19b0707_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.8.10-h14a7884_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.14.19-hc9e6898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.10.7-hb8d5873_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.6.7-h666547d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.19-h2bff981_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.20-h2bff981_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.28.3-hbe26082_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.407-h25d6d5c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.13.0-h935415a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.8.0-hd126650_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.12.0-hd2e3451_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.7.0-h10ac4d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.11.0-h325d260_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.2-heb4867d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.7-py312h2ec8cdc_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.5.0-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.6.1-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.5-pyh3099207_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-8.29.0-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_he02047a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-17.0.0-had3b6fe_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-17.0.0-h5888daf_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-17.0.0-h5888daf_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-17.0.0-hf54134d_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.10.1-hbbe4b11_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h77fa898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hd5240d6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h77fa898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.29.0-h435de7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.29.0-h0121fbd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-17.0.0-h39682fd_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.3-hd5b35b9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2023.09.01-h5a48ba9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.20.0-h0e7cc3e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.8.0-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.4-h064dc61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-64/max-python-24.6.0.dev2024110605-3.12release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.1.0-py312h178313f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multiprocess-0.70.15-py312h98912ed_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.0.2-h669347b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.2-py312h1d6d2e6_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.2.0-py312h66e93f0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py312h83439f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.1.0-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-17.0.0-py312h9cebb41_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-17.0.0-py312h01725c0_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.23.4-py312h12e396e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.7-hc5c86c4_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.5.0-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.2.0-py312hbf22597_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/regex-2024.9.11-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.1-py312h12e396e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.5-h3931f03_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/safetensors-0.4.5-py312h12e396e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh0d859eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tokenizers-0.20.3-py312h8360d73_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.1-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241003-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.21.0-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.24.0-py312h12e396e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.1-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.44.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.2-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.16.0-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312hef9b889_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda + linux-aarch64: + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aiohttp-3.10.10-py312hcc812fe_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/argon2-cffi-bindings-21.2.0-py312hb2c0f52_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-auth-0.7.31-h8fa6c3f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-cal-0.7.4-h3a42a84_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-common-0.9.29-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-compression-0.2.19-ha24d3e7_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-event-stream-0.4.3-h34ad692_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-http-0.8.10-h1e1d171_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-io-0.14.19-h9f8f545_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-mqtt-0.10.7-had41049_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-s3-0.6.7-h598b0a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-sdkutils-0.1.19-ha24d3e7_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-checksums-0.1.20-ha24d3e7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-crt-cpp-0.28.3-hcc2993b_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-sdk-cpp-1.11.407-hf265f57_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-core-cpp-1.13.0-h60f91e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-identity-cpp-1.8.0-hf0f394c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-blobs-cpp-12.12.0-h17ca4bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-common-cpp-12.7.0-h68dbd84_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-files-datalake-cpp-12.11.0-h36e5eb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.1.0-py312h6f74592_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.2-ha64f414_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2024.8.30-hcefe29a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-1.17.1-py312hac81daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.7-py312h6f74592_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/frozenlist-1.5.0-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gflags-2.2.2-h5ad3122_1005.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glog-0.7.1-h468a4a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/httptools-0.6.1-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.5-pyh3099207_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-8.29.0-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/jsonpointer-3.0.0-py312h996f985_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.1-h4e544f5_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.21.3-h50a48e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.43-h80caac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20240116.2-cxx17_h0a1ffab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-17.0.0-hccffc7f_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-acero-17.0.0-h5ad3122_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-dataset-17.0.0-h5ad3122_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-substrait-17.0.0-h08b7278_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcrc32c-1.1.2-h01db608_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.10.1-h3ec0cbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h31becfc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.6.3-h5ad3122_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.4.2-h3557bc0_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-14.2.0-he9431aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-14.2.0-hb6113d0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-2.29.0-hbb89541_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-storage-2.29.0-hb9b2b65_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgrpc-1.62.2-h98a9317_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.17-h31becfc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.64.0-hc8609a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.28-pthreads_h9d3fd7e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libparquet-17.0.0-h501616e_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-4.25.3-hea2c3fa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libre2-11-2023.09.01-h9d008c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.20-h68df207_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.47.0-hc4a20ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.0-h492db2e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-14.2.0-h3f4de04_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-14.2.0-hf1166c9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libthrift-0.20.0-h154c74f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libutf8proc-2.8.0-h4e544f5_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.38.1-hb4cce97_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.49.2-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.13.4-hf4efe5d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.9.4-hd600fc2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.2-py312h74ce7d3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-aarch64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-aarch64/max-python-24.6.0.dev2024110605-3.12release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/multidict-6.1.0-py312hcc812fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/multiprocess-0.70.15-py312hdd3e373_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-hcccb83c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.26.4-py312h470d778_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.3.2-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/orc-2.0.2-h383807c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pandas-2.2.2-py312h14eacfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/propcache-0.2.0-py312hb2c0f52_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/protobuf-4.25.3-py312h8a04735_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-6.1.0-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-17.0.0-py312h55cb1a1_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-core-17.0.0-py312h66f7834_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.23.4-py312h8cbf658_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.7-h5d932e8_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-xxhash-3.5.0-py312h52516f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.2-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-26.2.0-py312h2427ae1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/re2-2023.09.01-h9caee61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8fc344f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2024.9.11-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.20.1-py312ha4e36d7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/s2n-1.5.5-hc6ade00_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/safetensors-0.4.5-py312h8cbf658_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.1-h1088aeb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh0d859eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-h194ca79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tokenizers-0.20.3-py312ha0d6ea1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.4.1-py312h52516f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241003-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uvloop-0.21.0-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/watchfiles-0.24.0-py312h8cbf658_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/websockets-13.1-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.44.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wrapt-1.16.0-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xxhash-0.8.2-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xz-5.2.6-h9cdd2b7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-hf897c2e_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yarl-1.16.0-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-h5efb499_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstandard-0.23.0-py312hb698573_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.6-h02f22dd_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.10.10-py312h906988d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-21.2.0-py312h024a12e_5.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.7.31-h14f56dd_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.7.4-hd45b2be_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.9.29-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.2.19-hd45b2be_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.4.3-hdf5079d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.8.10-h4588aaf_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.14.19-h5ad5fc2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.10.7-hbe077eb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.6.7-h86d2b7d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.1.19-hd45b2be_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.1.20-hd45b2be_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.28.3-h4f9f7e0_8.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.407-h880863c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.13.0-hd01fc5c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.8.0-h13ea094_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.12.0-hfde595f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.7.0-hcf3b6fd_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.11.0-h082e32e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hde4cb15_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.2-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.7-py312hde4cb15_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.5.0-py312h0bf5046_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/httptools-0.6.1-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.5-pyh57ce528_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-8.29.0-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20240116.2-cxx17_h00cdb27_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-17.0.0-hc6a7651_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-17.0.0-hf9b8971_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-17.0.0-hf9b8971_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-17.0.0-hbf8b706_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.10.1-h13a7ad3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20191231-hc8eb9b7_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.29.0-hfa33a2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.29.0-h90fd6fa_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.62.2-h9c18a4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-17.0.0-hf0ba9ef_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-4.25.3-hc39d83c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2023.09.01-h7b2c953_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.20-h99b78c6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.0-h7a5bd25_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.20.0-h64651cc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.8.0-h1a8c8d9_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.49.2-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.4-h8424949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.9.4-hb7217d7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py312ha0ccf2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/osx-arm64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/osx-arm64/max-python-24.6.0.dev2024110605-3.12release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.1.0-py312hdb8e49c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multiprocess-0.70.15-py312h02f2b3b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.0.2-h75dedd0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.2.2-py312h8ae5369_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.2.0-py312h024a12e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-4.25.3-py312he4aa971_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.0-py312h0bf5046_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-17.0.0-py312ha814d7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-17.0.0-py312hc40f475_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.23.4-py312he431725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-10.3.1-py312hd24fc31_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-10.3.1-py312hd24fc31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-xxhash-3.5.0-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-26.2.0-py312hf8a1cbd_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2023.09.01-h4cba328_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/regex-2024.9.11-py312h024a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.20.1-py312hcd83bfe_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/safetensors-0.4.5-py312he431725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh31c8845_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-hd02b534_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh31c8845_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tokenizers-0.20.3-py312hf3e4074_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.1-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241003-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uvloop-0.21.0-py312h0bf5046_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchfiles-0.24.0-py312he431725_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-13.1-py312h024a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.44.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.16.0-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xxhash-0.8.2-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.16.0-py312h0bf5046_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h9f5b81c_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312h15fbf35_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda +packages: +- kind: conda + name: _libgcc_mutex + version: '0.1' + build: conda_forge + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + md5: d7c89558ba9fa0495403155b64376d81 + license: None + size: 2562 + timestamp: 1578324546067 +- kind: conda + name: _openmp_mutex + version: '4.5' + build: 2_gnu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + md5: 73aaf86a425cc6e73fcf236a5a46396d + depends: + - _libgcc_mutex 0.1 conda_forge + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23621 + timestamp: 1650670423406 +- kind: conda + name: _openmp_mutex + version: '4.5' + build: 2_gnu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 + sha256: 3702bef2f0a4d38bd8288bbe54aace623602a1343c2cfbefd3fa188e015bebf0 + md5: 6168d71addc746e8f2b8d57dfd2edcea + depends: + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23712 + timestamp: 1650670790230 +- kind: conda + name: aiohappyeyeballs + version: 2.4.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + sha256: cfa5bed6ad8d00c2bc2c6ccf115e91ef1a9981b73c68537b247f1a964a841cac + md5: ec763b0a58960558ca0ad7255a51a237 + depends: + - python >=3.8.0 + license: PSF-2.0 + license_family: PSF + size: 19271 + timestamp: 1727779893392 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py312h178313f_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.10.10-py312h178313f_0.conda + sha256: d941b4e4ea00bf8f777321d2dea9c05e71767e4a38f4934b2c8d7a8408b2c813 + md5: d2f9e490ab2eae3e661b281346618a82 + depends: + - __glibc >=2.17,<3.0.a0 + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=13 + - multidict >=4.5,<7.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 834195 + timestamp: 1728629186912 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py312h906988d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.10.10-py312h906988d_0.conda + sha256: f81b3f6e46ae5622b66191fdd3ff40d193b8cdd92242ba11bfa89159747406f9 + md5: f932c1be57fcd5a289e501f39735a7c2 + depends: + - __osx >=11.0 + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 807784 + timestamp: 1728629249798 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py312hcc812fe_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aiohttp-3.10.10-py312hcc812fe_0.conda + sha256: 65161bdf0a80c0b13cf04470cc6ce4b4b9d765e9ee623445f6b441f7c37f0824 + md5: 61444df6e29f794f28decd1c40955f4d + depends: + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=13 + - multidict >=4.5,<7.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 828236 + timestamp: 1728629275604 +- kind: conda + name: aiosignal + version: 1.3.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + sha256: 575c742e14c86575986dc867463582a970463da50b77264cdf54df74f5563783 + md5: d1e1eb7e21a9e2c74279d87dafb68156 + depends: + - frozenlist >=1.1.0 + - python >=3.7 + license: Apache-2.0 + license_family: APACHE + size: 12730 + timestamp: 1667935912504 +- kind: conda + name: annotated-types + version: 0.7.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + sha256: 668f0825b6c18e4012ca24a0070562b6ec801ebc7008228a428eb52b4038873f + md5: 7e9f4612544c8edbfd6afad17f1bd045 + depends: + - python >=3.7 + - typing-extensions >=4.0.0 + license: MIT + license_family: MIT + size: 18235 + timestamp: 1716290348421 +- kind: conda + name: anyio + version: 4.6.2.post1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + sha256: 4b54b7ce79d818e3cce54ae4d552dba51b7afac160ceecdefd04b3917a37c502 + md5: 688697ec5e9588bdded167d19577625b + depends: + - exceptiongroup >=1.0.2 + - idna >=2.8 + - python >=3.9 + - sniffio >=1.1 + - typing_extensions >=4.1 + constrains: + - uvloop >=0.21.0b1 + - trio >=0.26.1 + license: MIT + license_family: MIT + size: 109864 + timestamp: 1728935803440 +- kind: conda + name: appnope + version: 0.1.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/appnope-0.1.4-pyhd8ed1ab_0.conda + sha256: 45ae2d41f4a4dcf8707633d3d7ae376fc62f0c09b1d063c3049c3f6f8c911670 + md5: cc4834a9ee7cc49ce8d25177c47b10d8 + depends: + - python >=3.7 + license: BSD-2-Clause + license_family: BSD + size: 10241 + timestamp: 1707233195627 +- kind: conda + name: argon2-cffi + version: 23.1.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda + sha256: 130766446f5507bd44df957b6b5c898a8bd98f024bb426ed6cb9ff1ad67fc677 + md5: 3afef1f55a1366b4d3b6a0d92e2235e4 + depends: + - argon2-cffi-bindings + - python >=3.7 + - typing-extensions + constrains: + - argon2_cffi ==999 + license: MIT + license_family: MIT + size: 18602 + timestamp: 1692818472638 +- kind: conda + name: argon2-cffi-bindings + version: 21.2.0 + build: py312h024a12e_5 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/argon2-cffi-bindings-21.2.0-py312h024a12e_5.conda + sha256: 0e32ddd41f273f505956254d81ffadaf982ed1cb7dfd70d9251a8c5b705c7267 + md5: 6ccaeafe1a52b0d0e7ebfbf53a374649 + depends: + - __osx >=11.0 + - cffi >=1.0.1 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 32838 + timestamp: 1725356954187 +- kind: conda + name: argon2-cffi-bindings + version: 21.2.0 + build: py312h66e93f0_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h66e93f0_5.conda + sha256: 3cbc3b026f5c3f26de696ead10607db8d80cbb003d87669ac3b02e884f711978 + md5: 1505fc57c305c0a3174ea7aae0a0db25 + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=1.0.1 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 34847 + timestamp: 1725356749774 +- kind: conda + name: argon2-cffi-bindings + version: 21.2.0 + build: py312hb2c0f52_5 + build_number: 5 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/argon2-cffi-bindings-21.2.0-py312hb2c0f52_5.conda + sha256: a1a0e246c70b738e20dc01785e6bc0e497c7dfc8e586d1db142e7d77f80e0dfa + md5: c3b818a44ce51af3de80cf6523cfe216 + depends: + - cffi >=1.0.1 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 36280 + timestamp: 1725356972478 +- kind: conda + name: arrow + version: 1.3.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda + sha256: ff49825c7f9e29e09afa6284300810e7a8640d621740efb47c4541f4dc4969db + md5: b77d8c2313158e6e461ca0efb1c2c508 + depends: + - python >=3.8 + - python-dateutil >=2.7.0 + - types-python-dateutil >=2.8.10 + license: Apache-2.0 + license_family: Apache + size: 100096 + timestamp: 1696129131844 +- kind: conda + name: asttokens + version: 2.4.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda + sha256: 708168f026df19a0344983754d27d1f7b28bb21afc7b97a82f02c4798a3d2111 + md5: 5f25798dcefd8252ce5f9dc494d5f571 + depends: + - python >=3.5 + - six >=1.12.0 + license: Apache-2.0 + license_family: Apache + size: 28922 + timestamp: 1698341257884 +- kind: conda + name: async-lru + version: 2.0.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda + sha256: 7ed83731979fe5b046c157730e50af0e24454468bbba1ed8fc1a3107db5d7518 + md5: 3d081de3a6ea9f894bbb585e8e3a4dcb + depends: + - python >=3.8 + - typing_extensions >=4.0.0 + license: MIT + license_family: MIT + size: 15342 + timestamp: 1690563152778 +- kind: conda + name: attrs + version: 24.2.0 + build: pyh71513ae_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + sha256: 28dba85a7e0f7fb57d7315e13f603d1e41b83c5b88aa2a602596b52c833a2ff8 + md5: 6732fa52eb8e66e5afeb32db8701a791 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 56048 + timestamp: 1722977241383 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: h14f56dd_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.7.31-h14f56dd_2.conda + sha256: 7ec650c52962f62e141d5c8ac018befd9a0c50eef1c951cba11089cadd90e703 + md5: 85a9125cf9705e4c7a829a829af6744b + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 92624 + timestamp: 1728796392911 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: h8fa6c3f_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-auth-0.7.31-h8fa6c3f_2.conda + sha256: 1420263c333ed29b89f37d0b9f9665eb02f3a23a50f9fe3ef787a30726168711 + md5: a7549b69ce1339ab4702c10cc213c01d + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 112059 + timestamp: 1728796399534 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: he1a10d6_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.31-he1a10d6_2.conda + sha256: 83fa4b24101cd85da825dcbb7611390c2a6e31a3fc17abb4d1ee5b8c40bdaa5a + md5: 76550a294cc78aaccfca7824bb4814ce + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 107301 + timestamp: 1728796325782 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: h3a42a84_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-cal-0.7.4-h3a42a84_2.conda + sha256: 5a0825bf3f2e89458088eb83f2e6e3eed0f3b9711963f6bf45cea9ed699a5611 + md5: 4c4096ea8a644e837e3d8576bf6d2ba9 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 49479 + timestamp: 1728755609823 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: hae4d56a_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.7.4-hae4d56a_2.conda + sha256: 4bfed63898a1697364ce9621e1fc09c98f143777b0ca60655eb812efa5bf246d + md5: cdc628e4ffb4ffcd476e3847267e1689 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 47181 + timestamp: 1728755555430 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: hd45b2be_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.7.4-hd45b2be_2.conda + sha256: d701872d79184dbb759aa033e6a6e4ec5c6f1b58e3255e53b756d0246d19986a + md5: de4bf687ac70a2b861a94b87164669c9 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 39794 + timestamp: 1728755626145 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.9.29-h7ab814d_0.conda + sha256: 8d2c330f0de571f1bf6f2db7650a1aa8c4060a2ccd25b48f392a4d3ea8222daa + md5: d4a90d217342b08daa7e80049fdaa6c9 + depends: + - __osx >=11.0 + license: Apache-2.0 + license_family: Apache + size: 220687 + timestamp: 1728706817796 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-common-0.9.29-h86ecc28_0.conda + sha256: f79b28d046aa448016ef4ddade430cfbfa3802813b6be04c97abb531edef05a2 + md5: f1fef7581dd3389ca7a3545e50bfcc7f + depends: + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 258186 + timestamp: 1728706827519 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.29-hb9d3cd8_0.conda + sha256: b3b50f518e9afad383f6851bf7000cf8b343d7d3ca71558df233ee7b4bfc2919 + md5: acc51b49fd7467c8dfe4343001b812b4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 237231 + timestamp: 1728706773555 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: h2bff981_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.19-h2bff981_2.conda + sha256: 908a416ff3f62b09bed436e1f77418f54115412244734d3960b11d586dd0749f + md5: 87a059d4d2ab89409496416119dd7152 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 18983 + timestamp: 1728750679322 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: ha24d3e7_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-compression-0.2.19-ha24d3e7_2.conda + sha256: 5c8abfbe725f7b646223a64b9446fc3305f66da75d27f199a3347ca1d9ea5671 + md5: a8162788a62f2568587b20646f2eacea + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 19862 + timestamp: 1728750729312 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: hd45b2be_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.2.19-hd45b2be_2.conda + sha256: 86900c68f95a2ca79cb9bcb8a3e8fd0a7912cfa3754a6a1e6b78d35c0b8db58b + md5: 9c634af661f50e923419e0df92633d31 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 18065 + timestamp: 1728750721405 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: h19b0707_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.4.3-h19b0707_4.conda + sha256: 951f96eb45a439a36935dc2099e10c902518ec511a287c1685ca65a88a9accaa + md5: df38f56123f30d61de24474e600e7d41 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 53821 + timestamp: 1728792746255 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: h34ad692_4 + build_number: 4 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-event-stream-0.4.3-h34ad692_4.conda + sha256: 20fb76e0740a403ef8e7bbf655482699612b9a6a25df15ff9f14caad511e79c9 + md5: 8d66cac131dd88ef8b81299e8b5818f8 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 55018 + timestamp: 1728792897824 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: hdf5079d_4 + build_number: 4 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.4.3-hdf5079d_4.conda + sha256: 6976ea97bf8c79114da3026a9d46b717131e2445be01f244718a426ad4b587f2 + md5: d89057a51d66d9c0c907c3dfebf845eb + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + size: 46737 + timestamp: 1728792823021 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h14a7884_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.8.10-h14a7884_2.conda + sha256: 0561267292739a451d7d389f100330fefafb97859962f617cd5268c96400e3aa + md5: 6147c6b6cef67adcb85516f5cf775be7 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 197562 + timestamp: 1728792795954 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h1e1d171_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-http-0.8.10-h1e1d171_2.conda + sha256: bb6426db42f1804b52b83a736f6ad4c407e260a7da5b0fe586cbe18e71101dfb + md5: 20f29e7210c170cbc810f10d65f692aa + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 190604 + timestamp: 1728792811917 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h4588aaf_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.8.10-h4588aaf_2.conda + sha256: 0f422e1cb3ebfa4fbf316e0ee576ed8e8f96cd9890783a0d319366e7ad9ebca6 + md5: fd850cc4bc7af65f3b7e98324bda96fa + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 152421 + timestamp: 1728792977955 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: h5ad5fc2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.14.19-h5ad5fc2_1.conda + sha256: 0fcfbd9b46474b543d59183bedee08bf46d0f5167c95406b3b06ce922d6626c4 + md5: 463fae93275ddd0a6e2afb327b4d87e5 + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 137474 + timestamp: 1728770995104 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: h9f8f545_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-io-0.14.19-h9f8f545_1.conda + sha256: dea9075bd1fac65a0bbaacf038f8196892004da9c44c34d061b0d1eec81b9644 + md5: 46958359610629e7eea043a83f64540c + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - s2n >=1.5.5,<1.5.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 163350 + timestamp: 1728771046323 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: hc9e6898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.14.19-hc9e6898_1.conda + sha256: 35f9719fb9d5ddf4955a432d73d910261d60754d20b58de2be2701a2e68a9cfb + md5: ec84785f7ae14ed43156a54aec33bb14 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - s2n >=1.5.5,<1.5.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 158806 + timestamp: 1728770974012 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: had41049_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-mqtt-0.10.7-had41049_2.conda + sha256: 2c4065737a77f80fd475ea1979db046ca7d46dd35548d7c20be1521c7ac17eef + md5: 4f489845a24aa7d2c556b0fedfb7e0a3 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 169126 + timestamp: 1728797232432 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: hb8d5873_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.10.7-hb8d5873_2.conda + sha256: b30a3d8ba9352760c30f696b65486fe0e1d3cfe771f114b008a70ad440eb00c0 + md5: 8dc25ca24c1a50b8295a848c384ede99 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 195951 + timestamp: 1728797647791 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: hbe077eb_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.10.7-hbe077eb_2.conda + sha256: 376f757b460fc936da6b8159ef80ed5a51a23d2ba02e7834055a99616004d3bc + md5: 5013eaa8a8242355199a31e8973ff3f0 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 135058 + timestamp: 1728797199832 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h598b0a5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-s3-0.6.7-h598b0a5_0.conda + sha256: 93c43c3cee726280deaf44d52cc936f51b1c614bfaf600ffd5f002a6a6bb4bd7 + md5: 46860887427f76d0ff0824d987a7aee1 + depends: + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 117032 + timestamp: 1728967110055 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h666547d_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.6.7-h666547d_0.conda + sha256: fe006f58bd9349ab7cd4cd864dd4e83409e89764b10d9d7eb7ec148e2f964465 + md5: 7f59dcbbd4eab14ca9256f20b43849eb + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 113457 + timestamp: 1728967087200 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h86d2b7d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.6.7-h86d2b7d_0.conda + sha256: 4691154b75d85039da165b01bd25a2dce99f40b8a635fa9537a36a45dcc3e236 + md5: 851d2b927ba01ac963ffbc1868e971a3 + depends: + - __osx >=11.0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + license: Apache-2.0 + license_family: Apache + size: 96707 + timestamp: 1728967262718 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: h2bff981_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.19-h2bff981_4.conda + sha256: ef65ca9eb9f32ada6fb1b47759374e7ef4f85db002f2265ebc8fd61718284cbc + md5: 5a8afd37e2dfe464d68e63d1c38b08c5 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 55957 + timestamp: 1728755888042 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: ha24d3e7_4 + build_number: 4 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-sdkutils-0.1.19-ha24d3e7_4.conda + sha256: 2bec8bd76145f72c89068fb30d60353e6c71a4bb32e13eb543d9d04d6ea0ae9b + md5: 33e7e774771d00b2933443c3954796ea + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 58640 + timestamp: 1728755998456 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: hd45b2be_4 + build_number: 4 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.1.19-hd45b2be_4.conda + sha256: cc374eef1b367fb9acc83b2e74830f62742d3e53e1f0f6a0d01939b16ed1e3d5 + md5: 7ccdd0f21ffbc77b11963f00892ca8b5 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 49543 + timestamp: 1728755942076 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: h2bff981_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.20-h2bff981_1.conda + sha256: e1793f2e52fe04ef3a6b2069abda7960d061c6f7af1f0d5f616d43e7a7c40e3c + md5: 8b424cf6b3cfc5cffe98bf4d16c032fb + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 72862 + timestamp: 1728750748391 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: ha24d3e7_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-checksums-0.1.20-ha24d3e7_1.conda + sha256: f59c33d71fe4dad1099d9124f471ff9c9e06a51d43578aeb2740c8416dc03540 + md5: 592f2d2e8bc10e60e0d0cf0a737b5da8 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 72491 + timestamp: 1728750762489 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: hd45b2be_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.1.20-hd45b2be_1.conda + sha256: d935ca7faa780cfa1053fe1bffb77611a54b4df791897a22048e770b250c651f + md5: ab0b68aafe787311cb8397fd2e60982d + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 70087 + timestamp: 1728750818479 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: h4f9f7e0_8 + build_number: 8 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.28.3-h4f9f7e0_8.conda + sha256: 98cbed635af4841186aa3261e6ceadd03822983d6e30f0afa5d34eb452b2b509 + md5: 14af6354d5437421793e17e865301371 + depends: + - __osx >=11.0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + size: 229980 + timestamp: 1729181342157 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: hbe26082_8 + build_number: 8 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.28.3-hbe26082_8.conda + sha256: a9c23a685929b24fcd032daae36b61c4862912abf0a0a8735aeef53418c5bce6 + md5: 80d5fac04be0e6c2774f57eb7529f145 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 349632 + timestamp: 1729181229435 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: hcc2993b_8 + build_number: 8 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-crt-cpp-0.28.3-hcc2993b_8.conda + sha256: 3b5779785c8700e73be97f63ea778b6dba033a49fd77569c5fddbdd3a53a2600 + md5: e71043206d9db242eae53b70773f7f62 + depends: + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 276668 + timestamp: 1729181269528 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: h25d6d5c_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.407-h25d6d5c_1.conda + sha256: f05d43f3204887cec9a9853a9217f06562b28161950b5485aed1f8afe42aad17 + md5: 0f2bd0128d59a45c9fd56151eab0b37e + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2931742 + timestamp: 1729235000691 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: h880863c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.407-h880863c_1.conda + sha256: 9cea713c0d727def94e29a99cdfe1deb65c241c90bc41c96e1e77777cb84d4c9 + md5: 60877ad5c76505fa4b90ab5567babb3d + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libcxx >=17 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2709553 + timestamp: 1729235667236 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: hf265f57_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-sdk-cpp-1.11.407-hf265f57_1.conda + sha256: d265e7a2af974f09ba795a900900e36e44e581b3adc7e827ddfd2374337ea89c + md5: 63a6b060807c6885d25f82615d5bd8f2 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2758696 + timestamp: 1729234995101 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: h60f91e5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-core-cpp-1.13.0-h60f91e5_0.conda + sha256: b3aecc4e01db67a18891e6e9517ec9b628577bbd2e1b6616d147c7c5f2f28a2b + md5: fc41d5a9f2c98fd37324c20f47b0124b + depends: + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 331714 + timestamp: 1720854524500 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: h935415a_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.13.0-h935415a_0.conda + sha256: b7e0a22295db2e1955f89c69cefc32810309b3af66df986d9fb75d89f98a80f7 + md5: debd1677c2fea41eb2233a260f48a298 + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 338134 + timestamp: 1720853194547 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: hd01fc5c_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.13.0-hd01fc5c_0.conda + sha256: aff4af38416cf7a81c79e5a3b071ce5aa13ec48da28db0312bc1ebe62cf7273d + md5: 2083f6313e623079db6ee67af00e6b27 + depends: + - __osx >=11.0 + - libcurl >=8.8.0,<9.0a0 + - libcxx >=16 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 287922 + timestamp: 1720853302106 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: h13ea094_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.8.0-h13ea094_2.conda + sha256: 11b01715cae19390890f29ebb56d36d895feafd787ba929aa10b6ce712f3f4b9 + md5: 383b72f2ee009992b21f4db08a708510 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libcxx >=16 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 142135 + timestamp: 1721777696118 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: hd126650_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.8.0-hd126650_2.conda + sha256: f85452eca3ae0e156b1d1a321a1a9f4f58d44ff45236c0d8602ab96aaad3c6ba + md5: 36df3cf05459de5d0a41c77c4329634b + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 199516 + timestamp: 1721777604325 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: hf0f394c_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-identity-cpp-1.8.0-hf0f394c_2.conda + sha256: ac143df6b8596eeee2f770f02013e384f06ac09ecee042ee7f8c5a65f7958330 + md5: 3e74c83218d71b01f988e6bada2f4e22 + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 182768 + timestamp: 1721779454639 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: h17ca4bd_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-blobs-cpp-12.12.0-h17ca4bd_0.conda + sha256: 4955de4131a1b4a16ac1f63d3e6f325904b997e1adb0f3fadf5a3b112eee6803 + md5: 9a26fea6b69f4f02689893366961be49 + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 473009 + timestamp: 1721866393941 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: hd2e3451_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.12.0-hd2e3451_0.conda + sha256: 69a0f5c2a08a1a40524b343060debb8d92295e2cc5805c3db56dad7a41246a93 + md5: 61f1c193452f0daa582f39634627ea33 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 523120 + timestamp: 1721865032339 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: hfde595f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.12.0-hfde595f_0.conda + sha256: f733f4acedd8bf1705c780e0828f0b83242ae7e72963aef60d12a7c5b3a8640d + md5: f2c935764fdacd0fafc05f975fd347e0 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libcxx >=16 + license: MIT + license_family: MIT + size: 419976 + timestamp: 1721865180569 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: h10ac4d7_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.7.0-h10ac4d7_1.conda + sha256: 1030fa54497a73eb78c509d451f25701e2e781dc182e7647f55719f1e1f9bee8 + md5: ab6d507ad16dbe2157920451d662e4a1 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 143039 + timestamp: 1721832724803 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: h68dbd84_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-common-cpp-12.7.0-h68dbd84_1.conda + sha256: a4e0afd65ffed6cc788f13068b452d253e4bfa61d8ca0ebaa80e26fe62fed5f7 + md5: 368c9e33d8cc763bf883ca12c163b93c + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 135615 + timestamp: 1721834497638 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: hcf3b6fd_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.7.0-hcf3b6fd_1.conda + sha256: 3fdf9c0337c48706cffe2e4c761cdea4132fb6dbd1f144d969c28afd903cf256 + md5: df7e01bcf8f3a9bfb0ab06778f915f29 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libcxx >=16 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 119821 + timestamp: 1721832870493 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h082e32e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.11.0-h082e32e_1.conda + sha256: 3c288dc1ae6bff9a1e21ab5196d13ab486850f61ec649a743a87bf9726901abf + md5: 16b05d31f626717668f01c01a970115f + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libcxx >=16 + license: MIT + license_family: MIT + size: 189065 + timestamp: 1721925275724 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h325d260_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.11.0-h325d260_1.conda + sha256: 1726fa324bb402e52d63227d6cb3f849957cd6841f8cb8aed58bb0c81203befb + md5: 11d926d1f4a75a1b03d1c053ca20424b + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 274492 + timestamp: 1721925100762 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h36e5eb4_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-files-datalake-cpp-12.11.0-h36e5eb4_1.conda + sha256: ba0cf9514c12d9fa56a15966badaec450d11ab78adef690501e38bb0f78aeb5f + md5: db65bbb89c21436f5471f93b09a7c09c + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 243908 + timestamp: 1721926367577 +- kind: conda + name: babel + version: 2.14.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda + sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6 + md5: 9669586875baeced8fc30c0826c3270e + depends: + - python >=3.7 + - pytz + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 7609750 + timestamp: 1702422720584 +- kind: conda + name: backoff + version: 2.2.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + sha256: b1cf7df15741e5fbc57e22a3a89db427383335aaab22ddc1b30710deeb0130de + md5: 4600709bd85664d8606ae0c76642f8db + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 17501 + timestamp: 1665004860081 +- kind: conda + name: beautifulsoup4 + version: 4.12.3 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda + sha256: 7b05b2d0669029326c623b9df7a29fa49d1982a9e7e31b2fea34b4c9a4a72317 + md5: 332493000404d8411859539a5a630865 + depends: + - python >=3.6 + - soupsieve >=1.2 + license: MIT + license_family: MIT + size: 118200 + timestamp: 1705564819537 +- kind: conda + name: bleach + version: 6.2.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_0.conda + sha256: 01be7fb5163e7c31356a18c259ddc19a5431b8b974dc65e2427b88c2d30034f3 + md5: 461bcfab8e65c166e297222ae919a2d4 + depends: + - python >=3.9 + - webencodings + license: Apache-2.0 AND MIT + license_family: Apache + size: 132652 + timestamp: 1730286301829 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py312h2ec8cdc_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda + sha256: f2a59ccd20b4816dea9a2a5cb917eb69728271dbf1aeab4e1b7e609330a50b6f + md5: b0b867af6fc74b2a0aa206da29c0f3cf + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 hb9d3cd8_2 + license: MIT + license_family: MIT + size: 349867 + timestamp: 1725267732089 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py312h6f74592_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.1.0-py312h6f74592_2.conda + sha256: 9736bf660a0e4260c68f81d2635b51067f817813e6490ac9e8abd9a835dcbf6d + md5: e1e9727063057168d95f27a032acd0a4 + depends: + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 h86ecc28_2 + license: MIT + license_family: MIT + size: 356878 + timestamp: 1725267878508 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py312hde4cb15_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hde4cb15_2.conda + sha256: 254b411fa78ccc226f42daf606772972466f93e9bc6895eabb4cfda22f5178af + md5: a83c2ef76ccb11bc2349f4f17696b15d + depends: + - __osx >=11.0 + - libcxx >=17 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 339360 + timestamp: 1725268143995 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h4bc722e_7 + build_number: 7 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d + md5: 62ee74e96c5ebb0af99386de58cf9553 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: bzip2-1.0.6 + license_family: BSD + size: 252783 + timestamp: 1720974456583 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h68df207_7 + build_number: 7 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda + sha256: 2258b0b33e1cb3a9852d47557984abb6e7ea58e3d7f92706ec1f8e879290c4cb + md5: 56398c28220513b9ea13d7b450acfb20 + depends: + - libgcc-ng >=12 + license: bzip2-1.0.6 + license_family: BSD + size: 189884 + timestamp: 1720974504976 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h99b78c6_7 + build_number: 7 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91 + md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab + depends: + - __osx >=11.0 + license: bzip2-1.0.6 + license_family: BSD + size: 122909 + timestamp: 1720974522888 +- kind: conda + name: c-ares + version: 1.34.2 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.2-h7ab814d_0.conda + sha256: 24d53d27397f9c2f0c168992690b5ec1bd62593fb4fc1f1e906ab91b10fd06c3 + md5: 8a8cfc11064b521bc54bd2d8591cb137 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 177487 + timestamp: 1729006763496 +- kind: conda + name: c-ares + version: 1.34.2 + build: ha64f414_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.2-ha64f414_0.conda + sha256: 06f67e6b2c18f1ff79391ffb032c752fcbbf754f6f6e7a786edde6cca1c92791 + md5: 588af5337614cece17e61b6ac907f812 + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 214916 + timestamp: 1729006632022 +- kind: conda + name: c-ares + version: 1.34.2 + build: heb4867d_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.2-heb4867d_0.conda + sha256: c2a515e623ac3e17a56027c06098fbd5ab47afefefbd386b4c21289f2ec55139 + md5: 2b780c0338fc0ffa678ac82c54af51fd + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 205797 + timestamp: 1729006575652 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hbcca054_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda + sha256: afee721baa6d988e27fef1832f68d6f32ac8cc99cdf6015732224c2841a09cea + md5: c27d1c142233b5bc9ca570c6e2e0c244 + license: ISC + size: 159003 + timestamp: 1725018903918 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hcefe29a_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2024.8.30-hcefe29a_0.conda + sha256: 2a2d827bee3775a85f0f1b2f2089291475c4416336d1b3a8cbce2964db547af8 + md5: 70e57e8f59d2c98f86b49c69e5074be5 + license: ISC + size: 159106 + timestamp: 1725020043153 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hf0a4a13_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + sha256: 2db1733f4b644575dbbdd7994a8f338e6ef937f5ebdb74acd557e9dda0211709 + md5: 40dec13fd8348dbe303e57be74bd3d35 + license: ISC + size: 158482 + timestamp: 1725019034582 +- kind: conda + name: cached-property + version: 1.5.2 + build: hd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 + sha256: 561e6660f26c35d137ee150187d89767c988413c978e1b712d53f27ddf70ea17 + md5: 9b347a7ec10940d3f7941ff6c460b551 + depends: + - cached_property >=1.5.2,<1.5.3.0a0 + license: BSD-3-Clause + license_family: BSD + size: 4134 + timestamp: 1615209571450 +- kind: conda + name: cached_property + version: 1.5.2 + build: pyha770c72_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 + sha256: 6dbf7a5070cc43d90a1e4c2ec0c541c69d8e30a0e25f50ce9f6e4a432e42c5d7 + md5: 576d629e47797577ab0f1b351297ef4a + depends: + - python >=3.6 + license: BSD-3-Clause + license_family: BSD + size: 11065 + timestamp: 1615209567874 +- kind: conda + name: certifi + version: 2024.8.30 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + sha256: 7020770df338c45ac6b560185956c32f0a5abf4b76179c037f115fc7d687819f + md5: 12f7d00853807b0531775e9be891cb11 + depends: + - python >=3.7 + license: ISC + size: 163752 + timestamp: 1725278204397 +- kind: conda + name: cffi + version: 1.17.1 + build: py312h06ac9bb_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda + sha256: cba6ea83c4b0b4f5b5dc59cb19830519b28f95d7ebef7c9c5cf1c14843621457 + md5: a861504bbea4161a9170b85d4d2be840 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 294403 + timestamp: 1725560714366 +- kind: conda + name: cffi + version: 1.17.1 + build: py312h0fad829_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda + sha256: 8d91a0d01358b5c3f20297c6c536c5d24ccd3e0c2ddd37f9d0593d0f0070226f + md5: 19a5456f72f505881ba493979777b24e + depends: + - __osx >=11.0 + - libffi >=3.4,<4.0a0 + - pycparser + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 281206 + timestamp: 1725560813378 +- kind: conda + name: cffi + version: 1.17.1 + build: py312hac81daf_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-1.17.1-py312hac81daf_0.conda + sha256: 1162e3ca039e7ca7c0e78f0a020ed1bde968096841b663e3f393c966eb82f0f0 + md5: 1a256e5581b1099e9295cb84d53db3ea + depends: + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 312892 + timestamp: 1725561779888 +- kind: conda + name: charset-normalizer + version: 3.4.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + sha256: 1873ac45ea61f95750cb0b4e5e675d1c5b3def937e80c7eebb19297f76810be8 + md5: a374efa97290b8799046df7c5ca17164 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 47314 + timestamp: 1728479405343 +- kind: conda + name: click + version: 8.1.7 + build: unix_pyh707e725_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec + md5: f3ad426304898027fc619827ff428eca + depends: + - __unix + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 84437 + timestamp: 1692311973840 +- kind: conda + name: colorama + version: 0.4.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + md5: 3faab06a954c2a04039983f2c4a50d99 + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 25170 + timestamp: 1666700778190 +- kind: conda + name: comm + version: 0.2.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda + sha256: e923acf02708a8a0b591f3bce4bdc11c8e63b73198b99b35fe6cd96bfb6a0dbe + md5: 948d84721b578d426294e17a02e24cbb + depends: + - python >=3.6 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 12134 + timestamp: 1710320435158 +- kind: conda + name: datasets + version: 2.14.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + sha256: 7e09bd083a609138b780fcc4535924cb96814d2c908a36d4c64a2ba9ee3efe7f + md5: 3e087f072ce03c43a9b60522f5d0ca2f + depends: + - aiohttp + - dill >=0.3.0,<0.3.8 + - fsspec >=2021.11.1 + - huggingface_hub >=0.14.0,<1.0.0 + - importlib-metadata + - multiprocess + - numpy >=1.17 + - packaging + - pandas + - pyarrow >=8.0.0 + - python >=3.8.0 + - python-xxhash + - pyyaml >=5.1 + - requests >=2.19.0 + - tqdm >=4.62.1 + license: Apache-2.0 + license_family: Apache + size: 347303 + timestamp: 1691593908658 +- kind: conda + name: debugpy + version: 1.8.7 + build: py312h2ec8cdc_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.7-py312h2ec8cdc_0.conda + sha256: e03c74ba23342f580f4cc822e46623561206da4857fd47c84c482f36a121095d + md5: 13e4b568d8f94e2a38f9acd192149516 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 2640727 + timestamp: 1728594265044 +- kind: conda + name: debugpy + version: 1.8.7 + build: py312h6f74592_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.7-py312h6f74592_0.conda + sha256: 267771ffea09ce9bfd3582cd47d172c0421a4a09fe503de1ecc4294d689a0aa2 + md5: 0ea83258c199171a845fe2a786ec657e + depends: + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 2597001 + timestamp: 1728594384447 +- kind: conda + name: debugpy + version: 1.8.7 + build: py312hde4cb15_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/debugpy-1.8.7-py312hde4cb15_0.conda + sha256: 65f015c6c2a2c5f52f91cfb1622f9e82499e9d7f3c4ccb4fa255b16ae575c9a2 + md5: 1985200ccb082e68d47b4fdd0bacfe97 + depends: + - __osx >=11.0 + - libcxx >=17 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 2555984 + timestamp: 1728594350396 +- kind: conda + name: decorator + version: 5.1.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + sha256: 328a6a379f9bdfd0230e51de291ce858e6479411ea4b0545fb377c71662ef3e2 + md5: 43afe5ab04e35e17ba28649471dd7364 + depends: + - python >=3.5 + license: BSD-2-Clause + license_family: BSD + size: 12072 + timestamp: 1641555714315 +- kind: conda + name: defusedxml + version: 0.7.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + sha256: 9717a059677553562a8f38ff07f3b9f61727bd614f505658b0a5ecbcf8df89be + md5: 961b3a227b437d82ad7054484cfa71b2 + depends: + - python >=3.6 + license: PSF-2.0 + license_family: PSF + size: 24062 + timestamp: 1615232388757 +- kind: conda + name: deprecated + version: 1.2.14 + build: pyh1a96a4e_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + sha256: 8f61539b00ea315c99f8b6f9e2408caa6894593617676741214cc0280e875ca0 + md5: 4e4c4236e1ca9bcd8816b921a4805882 + depends: + - python >=2.7 + - wrapt <2,>=1.10 + license: MIT + license_family: MIT + size: 14033 + timestamp: 1685233463632 +- kind: conda + name: dill + version: 0.3.7 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + sha256: 4ff20c6be028be2825235631c45d9e4a75bca1de65f8840c02dfb28ea0137c45 + md5: 5e4f3466526c52bc9af2d2353a1460bd + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 87553 + timestamp: 1690101185422 +- kind: conda + name: dnspython + version: 2.7.0 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + sha256: 3e2ea1bfd90969e0e1f152bb1f969c56661278ad6bfaa3272027b1ff0d9a1a23 + md5: 0adf8f63d500d20418656289249533f9 + depends: + - python >=3.9.0,<4.0.0 + - sniffio + constrains: + - cryptography >=43 + - wmi >=1.5.1 + - h2 >=4.1.0 + - trio >=0.23 + - httpcore >=1.0.0 + - aioquic >=1.0.0 + - httpx >=0.26.0 + - idna >=3.7 + license: ISC + license_family: OTHER + size: 172740 + timestamp: 1728178868478 +- kind: conda + name: email-validator + version: 2.2.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + sha256: ea9e936ed7c49ea6d66fa3554afe31ba311f2a3d5e384d8c38925fda9e37bdb9 + md5: 3067adf57ee658ddf5bfad47b0041ce4 + depends: + - dnspython >=2.0.0 + - idna >=2.0.0 + - python >=3.7 + license: Unlicense + size: 44157 + timestamp: 1718984716782 +- kind: conda + name: email_validator + version: 2.2.0 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + sha256: 2cbbbe9e0f3872214227c27b8b775dd2296a435c90ef50a7cc69934c329b6c65 + md5: 0214a004f7cf5ac28fc10a390dfc47ee + depends: + - email-validator >=2.2.0,<2.2.1.0a0 + license: Unlicense + size: 6690 + timestamp: 1718984720419 +- kind: conda + name: entrypoints + version: '0.4' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 + sha256: 2ec4a0900a4a9f42615fc04d0fb3286b796abe56590e8e042f6ec25e102dd5af + md5: 3cf04868fee0a029769bd41f4b2fbf2d + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 9199 + timestamp: 1643888357950 +- kind: conda + name: exceptiongroup + version: 1.2.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + sha256: e0edd30c4b7144406bb4da975e6bb97d6bc9c0e999aa4efe66ae108cada5d5b5 + md5: d02ae936e42063ca46af6cdad2dbd1e0 + depends: + - python >=3.7 + license: MIT and PSF-2.0 + size: 20418 + timestamp: 1720869435725 +- kind: conda + name: executing + version: 2.1.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda + sha256: a52d7516e2e11d3eb10908e10d3eb3f8ef267fea99ed9b09d52d96c4db3441b8 + md5: d0441db20c827c11721889a241df1220 + depends: + - python >=2.7 + license: MIT + license_family: MIT + size: 28337 + timestamp: 1725214501850 +- kind: conda + name: fastapi + version: 0.115.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + sha256: 69d319a58a7f929c047c0e6c1b845a3b384840ff95b1391516aa683f517f0929 + md5: 29841fbba8e0d4628ab513b92212def4 + depends: + - email_validator >=2.0.0 + - fastapi-cli >=0.0.5 + - httpx >=0.23.0 + - jinja2 >=2.11.2 + - pydantic >=1.7.4,!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0 + - python >=3.8 + - python-multipart >=0.0.7 + - starlette >=0.40.0,<0.42.0 + - typing_extensions >=4.8.0 + - uvicorn >=0.12.0 + license: MIT + license_family: MIT + size: 73156 + timestamp: 1730122842479 +- kind: conda + name: fastapi-cli + version: 0.0.5 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + sha256: 2294f02beff318614a737454f1a432a6f4ae22216a85b296b7041fedab293516 + md5: d141225aba450ec07c771c73ac57bb43 + depends: + - python >=3.8 + - typer >=0.12.3 + - uvicorn-standard >=0.15.0 + license: MIT + license_family: MIT + size: 14441 + timestamp: 1728947860847 +- kind: conda + name: filelock + version: 3.16.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + sha256: 1da766da9dba05091af87977922fe60dc7464091a9ccffb3765d403189d39be4 + md5: 916f8ec5dd4128cd5f207a3c4c07b2c6 + depends: + - python >=3.7 + license: Unlicense + size: 17357 + timestamp: 1726613593584 +- kind: conda + name: fqdn + version: 1.5.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 + sha256: 6cfd1f9bcd2358a69fb571f4b3af049b630d52647d906822dbedac03e84e4f63 + md5: 642d35437078749ef23a5dca2c9bb1f3 + depends: + - cached-property >=1.3.0 + - python >=2.7,<4 + license: MPL-2.0 + license_family: MOZILLA + size: 14395 + timestamp: 1638810388635 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py312h0bf5046_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.5.0-py312h0bf5046_0.conda + sha256: 44d6d6b332421e621c029fb149f12dba1ccb5ed6ac632e2e807a9d92d6cb2864 + md5: 7960352935cc95ac23883c9b8c97f2ff + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 53366 + timestamp: 1729699762631 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.5.0-py312h66e93f0_0.conda + sha256: 7e0c12983b20f2816b3712729b5a35ecb7ee152132ca7cf805427c62395ea823 + md5: f98e36c96b2c66d9043187179ddb04f4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 60968 + timestamp: 1729699568442 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/frozenlist-1.5.0-py312hb2c0f52_0.conda + sha256: b0a9ff3e71452eed70877b2f3175d41cd85070da6deac381c5f3f61e1f19bccb + md5: 62fc11b0738ca15e0dd19b60cf280d12 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 59967 + timestamp: 1729699642726 +- kind: conda + name: fsspec + version: 2024.10.0 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + sha256: 40bb76981dd49d5869b48925a8975bb7bbe4e33e1e40af4ec06f6bf4a62effd7 + md5: 816dbc4679a64e4417cd1385d661bb31 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 134745 + timestamp: 1729608972363 +- kind: conda + name: gflags + version: 2.2.2 + build: h5888daf_1005 + build_number: 1005 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + sha256: 6c33bf0c4d8f418546ba9c250db4e4221040936aef8956353bc764d4877bc39a + md5: d411fc29e338efb48c5fd4576d71d881 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 119654 + timestamp: 1726600001928 +- kind: conda + name: gflags + version: 2.2.2 + build: h5ad3122_1005 + build_number: 1005 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/gflags-2.2.2-h5ad3122_1005.conda + sha256: 28fe6b40b20454106d5e4ef6947cf298c13cc72a46347bbc49b563cd3a463bfa + md5: 4ff634d515abbf664774b5e1168a9744 + depends: + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 106638 + timestamp: 1726599967617 +- kind: conda + name: gflags + version: 2.2.2 + build: hf9b8971_1005 + build_number: 1005 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + sha256: fd56ed8a1dab72ab90d8a8929b6f916a6d9220ca297ff077f8f04c5ed3408e20 + md5: 57a511a5905caa37540eb914dfcbf1fb + depends: + - __osx >=11.0 + - libcxx >=17 + license: BSD-3-Clause + license_family: BSD + size: 82090 + timestamp: 1726600145480 +- kind: conda + name: glog + version: 0.7.1 + build: h468a4a4_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/glog-0.7.1-h468a4a4_0.conda + sha256: 920795d4f775a9f47e91c2223e64847f0b212b3fedc56c137c5889e32efe8ba0 + md5: 08940a32c6ced3703d1412dd37df4f62 + depends: + - gflags >=2.2.2,<2.3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 145811 + timestamp: 1718284208668 +- kind: conda + name: glog + version: 0.7.1 + build: hbabe93e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + sha256: dc824dc1d0aa358e28da2ecbbb9f03d932d976c8dca11214aa1dcdfcbd054ba2 + md5: ff862eebdfeb2fd048ae9dc92510baca + depends: + - gflags >=2.2.2,<2.3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 143452 + timestamp: 1718284177264 +- kind: conda + name: glog + version: 0.7.1 + build: heb240a5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + sha256: 9fc77de416953aa959039db72bc41bfa4600ae3ff84acad04a7d0c1ab9552602 + md5: fef68d0a95aa5b84b5c1a4f6f3bf40e1 + depends: + - __osx >=11.0 + - gflags >=2.2.2,<2.3.0a0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + size: 112215 + timestamp: 1718284365403 +- kind: conda + name: googleapis-common-protos + version: 1.65.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + sha256: 093e899196b6bedb761c707677a3bc7161a04371084eb26f489327e8aa8d6f25 + md5: f5bdd5dd4ad1fd075a6f25670bdda1b6 + depends: + - protobuf >=3.20.2,<6.0.0.dev0,!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5 + - python >=3.7 + license: Apache-2.0 + license_family: APACHE + size: 115834 + timestamp: 1724834348732 +- kind: conda + name: h11 + version: 0.14.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + sha256: 817d2c77d53afe3f3d9cf7f6eb8745cdd8ea76c7adaa9d7ced75c455a2c2c085 + md5: b21ed0883505ba1910994f1df031a428 + depends: + - python >=3 + - typing_extensions + license: MIT + license_family: MIT + size: 48251 + timestamp: 1664132995560 +- kind: conda + name: h2 + version: 4.1.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + sha256: bfc6a23849953647f4e255c782e74a0e18fe16f7e25c7bb0bc57b83bb6762c7a + md5: b748fbf7060927a6e82df7cb5ee8f097 + depends: + - hpack >=4.0,<5 + - hyperframe >=6.0,<7 + - python >=3.6.1 + license: MIT + license_family: MIT + size: 46754 + timestamp: 1634280590080 +- kind: conda + name: hpack + version: 4.0.0 + build: pyh9f0ad1d_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + sha256: 5dec948932c4f740674b1afb551223ada0c55103f4c7bf86a110454da3d27cb8 + md5: 914d6646c4dbb1fd3ff539830a12fd71 + depends: + - python + license: MIT + license_family: MIT + size: 25341 + timestamp: 1598856368685 +- kind: conda + name: httpcore + version: 1.0.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + sha256: 8952c3f1eb18bf4d7e813176c3b23e0af4e863e8b05087e73f74f371d73077ca + md5: b8e1901ef9a215fc41ecfb6bef7e0943 + depends: + - anyio >=3.0,<5.0 + - certifi + - h11 >=0.13,<0.15 + - h2 >=3,<5 + - python >=3.8 + - sniffio 1.* + license: BSD-3-Clause + license_family: BSD + size: 45711 + timestamp: 1727821031365 +- kind: conda + name: httptools + version: 0.6.1 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/httptools-0.6.1-py312h024a12e_1.conda + sha256: a17d6d925de085b967ee1e44572ccfbb2c109aec1ccc4e6723acd7474c57eeeb + md5: c5c8dfe36db20180a8c7e49049377857 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 77287 + timestamp: 1726688371563 +- kind: conda + name: httptools + version: 0.6.1 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.6.1-py312h66e93f0_1.conda + sha256: 07d129a180564051547be7b17140c5a7d4789ba8b0404842328cc638615bbe81 + md5: e9060bac59733da8b5d8c6156b51fbcf + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 93588 + timestamp: 1726688214856 +- kind: conda + name: httptools + version: 0.6.1 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/httptools-0.6.1-py312hb2c0f52_1.conda + sha256: bcd6227032316b69494f15ebc5c81f8670efcb2aa1cadf7c754e38a1a80811c5 + md5: 91dc2737602f681a4679b8b4022b122e + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 92683 + timestamp: 1726688399611 +- kind: conda + name: httpx + version: 0.27.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + sha256: 1a33f160548bf447e15c0273899d27e4473f1d5b7ca1441232ec2d9d07c56d03 + md5: 7e9ac3faeebdbd7b53b462c41891e7f7 + depends: + - anyio + - certifi + - httpcore 1.* + - idna + - python >=3.8 + - sniffio + license: BSD-3-Clause + license_family: BSD + size: 65085 + timestamp: 1724778453275 +- kind: conda + name: huggingface_hub + version: 0.26.2 + build: pyh0610db2_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + sha256: fad5da1b0a0899dfb4d59bb4a4e4b58bade677ad44332beb608020e55f1bea53 + md5: a7344f1612e61d1e1dcc90c758f71f8f + depends: + - filelock + - fsspec >=2023.5.0 + - packaging >=20.9 + - python >=3.8 + - pyyaml >=5.1 + - requests + - tqdm >=4.42.1 + - typing-extensions >=3.7.4.3 + - typing_extensions >=3.7.4.3 + license: Apache-2.0 + license_family: APACHE + size: 274216 + timestamp: 1730211995421 +- kind: conda + name: hyperframe + version: 6.0.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + sha256: e374a9d0f53149328134a8d86f5d72bca4c6dcebed3c0ecfa968c02996289330 + md5: 9f765cbfab6870c8435b9eefecd7a1f4 + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 14646 + timestamp: 1619110249723 +- kind: conda + name: icu + version: '75.1' + build: hf9b3779_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda + sha256: 813298f2e54ef087dbfc9cc2e56e08ded41de65cff34c639cc8ba4e27e4540c9 + md5: 268203e8b983fddb6412b36f2024e75c + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 12282786 + timestamp: 1720853454991 +- kind: conda + name: icu + version: '75.1' + build: hfee45f7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 + md5: 5eb22c1d7b3fc4abb50d92d621583137 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 11857802 + timestamp: 1720853997952 +- kind: conda + name: idna + version: '3.10' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + sha256: 8c57fd68e6be5eecba4462e983aed7e85761a519aab80e834bbd7794d4b545b2 + md5: 7ba2ede0e7c795ff95088daf0dc59753 + depends: + - python >=3.6 + license: BSD-3-Clause + license_family: BSD + size: 49837 + timestamp: 1726459583613 +- kind: conda + name: importlib-metadata + version: 7.0.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + sha256: 9a26136d2cc81ccac209d6ae24281ceba3365fe34e34b2c45570f2a96e9d9c1b + md5: b050a4bb0e90ebd6e7fa4093d6346867 + depends: + - python >=3.8 + - zipp >=0.5 + license: Apache-2.0 + license_family: APACHE + size: 26900 + timestamp: 1709821273570 +- kind: conda + name: importlib_resources + version: 6.4.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_0.conda + sha256: 2cb9db3e40033c3df72d3defc678a012840378fd55a67e4351363d4b321a0dc1 + md5: c808991d29b9838fb4d96ce8267ec9ec + depends: + - python >=3.8 + - zipp >=3.1.0 + constrains: + - importlib-resources >=6.4.5,<6.4.6.0a0 + license: Apache-2.0 + license_family: APACHE + size: 32725 + timestamp: 1725921462405 +- kind: conda + name: ipykernel + version: 6.29.5 + build: pyh3099207_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.5-pyh3099207_0.conda + sha256: 33cfd339bb4efac56edf93474b37ddc049e08b1b4930cf036c893cc1f5a1f32a + md5: b40131ab6a36ac2c09b7c57d4d3fbf99 + depends: + - __linux + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=6.1.12 + - jupyter_core >=4.12,!=5.0.* + - matplotlib-inline >=0.1 + - nest-asyncio + - packaging + - psutil + - python >=3.8 + - pyzmq >=24 + - tornado >=6.1 + - traitlets >=5.4.0 + license: BSD-3-Clause + license_family: BSD + size: 119084 + timestamp: 1719845605084 +- kind: conda + name: ipykernel + version: 6.29.5 + build: pyh57ce528_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.5-pyh57ce528_0.conda + sha256: 072534d4d379225b2c3a4e38bc7730b65ae171ac7f0c2d401141043336e97980 + md5: 9eb15d654daa0ef5a98802f586bb4ffc + depends: + - __osx + - appnope + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=6.1.12 + - jupyter_core >=4.12,!=5.0.* + - matplotlib-inline >=0.1 + - nest-asyncio + - packaging + - psutil + - python >=3.8 + - pyzmq >=24 + - tornado >=6.1 + - traitlets >=5.4.0 + license: BSD-3-Clause + license_family: BSD + size: 119568 + timestamp: 1719845667420 +- kind: conda + name: ipython + version: 8.29.0 + build: pyh707e725_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ipython-8.29.0-pyh707e725_0.conda + sha256: 606723272a208cca1036852e04fbb61741b78451784746e75edd1becb70347d2 + md5: 56db21d7d51410fcfbfeca3d1a6b4269 + depends: + - __unix + - decorator + - exceptiongroup + - jedi >=0.16 + - matplotlib-inline + - pexpect >4.3 + - pickleshare + - prompt-toolkit >=3.0.41,<3.1.0 + - pygments >=2.4.0 + - python >=3.10 + - stack_data + - traitlets >=5.13.0 + - typing_extensions >=4.6 + license: BSD-3-Clause + license_family: BSD + size: 599356 + timestamp: 1729866495921 +- kind: conda + name: isoduration + version: 20.11.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 + sha256: 7bb5c4d994361022f47a807b5e7d101b3dce16f7dd8a0af6ffad9f479d346493 + md5: 4cb68948e0b8429534380243d063a27a + depends: + - arrow >=0.15.0 + - python >=3.7 + license: MIT + license_family: MIT + size: 17189 + timestamp: 1638811664194 +- kind: conda + name: jedi + version: 0.19.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda + sha256: 362f0936ef37dfd1eaa860190e42a6ebf8faa094eaa3be6aa4d9ace95f40047a + md5: 81a3be0b2023e1ea8555781f0ad904a2 + depends: + - parso >=0.8.3,<0.9.0 + - python >=3.6 + license: MIT + license_family: MIT + size: 841312 + timestamp: 1696326218364 +- kind: conda + name: jinja2 + version: 3.1.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + sha256: 27380d870d42d00350d2d52598cddaf02f9505fb24be09488da0c9b8d1428f2d + md5: 7b86ecb7d3557821c649b3c31e3eb9f2 + depends: + - markupsafe >=2.0 + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 111565 + timestamp: 1715127275924 +- kind: conda + name: json5 + version: 0.9.25 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.25-pyhd8ed1ab_0.conda + sha256: 0c75e428970e8bb72ba1dd3a6dc32b8d68f6534b4fe16b38e53364963fdc8e38 + md5: 5d8c241a9261e720a34a07a3e1ac4109 + depends: + - python >=3.7,<4.0 + license: Apache-2.0 + license_family: APACHE + size: 27995 + timestamp: 1712986338874 +- kind: conda + name: jsonpointer + version: 3.0.0 + build: py312h7900ff3_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/jsonpointer-3.0.0-py312h7900ff3_1.conda + sha256: 76ccb7bffc7761d1d3133ffbe1f7f1710a0f0d9aaa9f7ea522652e799f3601f4 + md5: 6b51f7459ea4073eeb5057207e2e1e3d + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 17277 + timestamp: 1725303032027 +- kind: conda + name: jsonpointer + version: 3.0.0 + build: py312h81bd7bf_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/jsonpointer-3.0.0-py312h81bd7bf_1.conda + sha256: f6fb3734e967d1cd0cde32844ee952809f6c0a49895da7ec1c8cfdf97739b947 + md5: 80f403c03290e1662be03e026fb5f8ab + depends: + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 17865 + timestamp: 1725303130815 +- kind: conda + name: jsonpointer + version: 3.0.0 + build: py312h996f985_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/jsonpointer-3.0.0-py312h996f985_1.conda + sha256: 908448e2946c8fd8e28f5c7de4ed52548d227fae2994febf1050179b2590dbdc + md5: 2257c5f33024274faadf6a88a7d62807 + depends: + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 17821 + timestamp: 1725303138276 +- kind: conda + name: jsonschema + version: 4.23.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda + sha256: 7d0c4c0346b26be9f220682b7c5c0d84606d48c6dbc36fc238e4452dda733aff + md5: da304c192ad59975202859b367d0f6a2 + depends: + - attrs >=22.2.0 + - importlib_resources >=1.4.0 + - jsonschema-specifications >=2023.03.6 + - pkgutil-resolve-name >=1.3.10 + - python >=3.8 + - referencing >=0.28.4 + - rpds-py >=0.7.1 + license: MIT + license_family: MIT + size: 74323 + timestamp: 1720529611305 +- kind: conda + name: jsonschema-specifications + version: 2024.10.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_0.conda + sha256: 82f8bed0f21dc0b3aff40dd4e39d77e85b93b0417bc5659b001e0109341b8b98 + md5: 720745920222587ef942acfbc578b584 + depends: + - python >=3.8 + - referencing >=0.31.0 + license: MIT + license_family: MIT + size: 16165 + timestamp: 1728418976382 +- kind: conda + name: jsonschema-with-format-nongpl + version: 4.23.0 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda + sha256: 007a0a506a0d1805b099629cb0ee743ad0afe7d9749e57339f32c168119e0139 + md5: 16b37612b3a2fd77f409329e213b530c + depends: + - fqdn + - idna + - isoduration + - jsonpointer >1.13 + - jsonschema >=4.23.0,<4.23.1.0a0 + - rfc3339-validator + - rfc3986-validator >0.1.0 + - uri-template + - webcolors >=24.6.0 + license: MIT + license_family: MIT + size: 7143 + timestamp: 1720529619500 +- kind: conda + name: jupyter-lsp + version: 2.2.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda + sha256: 2151c2c63e0442a4c69ee0ad8a634195eedab10b7b74c0ec8266471842239a93 + md5: 885867f6adab3d7ecdf8ab6ca0785f51 + depends: + - importlib-metadata >=4.8.3 + - jupyter_server >=1.1.2 + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 55539 + timestamp: 1712707521811 +- kind: conda + name: jupyter_client + version: 8.6.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + sha256: 4419c85e209a715f551a5c9bead746f29ee9d0fc41e772a76db3868622795671 + md5: a14218cfb29662b4a19ceb04e93e298e + depends: + - importlib-metadata >=4.8.3 + - jupyter_core >=4.12,!=5.0.* + - python >=3.8 + - python-dateutil >=2.8.2 + - pyzmq >=23.0 + - tornado >=6.2 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 106055 + timestamp: 1726610805505 +- kind: conda + name: jupyter_core + version: 5.7.2 + build: pyh31011fe_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + sha256: 732b1e8536bc22a5a174baa79842d79db2f4956d90293dd82dc1b3f6099bcccd + md5: 0a2980dada0dd7fd0998f0342308b1b1 + depends: + - __unix + - platformdirs >=2.5 + - python >=3.8 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 57671 + timestamp: 1727163547058 +- kind: conda + name: jupyter_events + version: 0.10.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda + sha256: cd3f41dc093162a41d4bae171e40a1b9b115c4d488e9bb837a8fa9d084931fb9 + md5: ed45423c41b3da15ea1df39b1f80c2ca + depends: + - jsonschema-with-format-nongpl >=4.18.0 + - python >=3.8 + - python-json-logger >=2.0.4 + - pyyaml >=5.3 + - referencing + - rfc3339-validator + - rfc3986-validator >=0.1.1 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 21475 + timestamp: 1710805759187 +- kind: conda + name: jupyter_server + version: 2.14.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_0.conda + sha256: edab71a05feceac54bdb90e755a257545af7832b9911607c1a70f09be44ba985 + md5: ca23c71f70a7c7935b3d03f0f1a5801d + depends: + - anyio >=3.1.0 + - argon2-cffi >=21.1 + - jinja2 >=3.0.3 + - jupyter_client >=7.4.4 + - jupyter_core >=4.12,!=5.0.* + - jupyter_events >=0.9.0 + - jupyter_server_terminals >=0.4.4 + - nbconvert-core >=6.4.4 + - nbformat >=5.3.0 + - overrides >=5.0 + - packaging >=22.0 + - prometheus_client >=0.9 + - python >=3.8 + - pyzmq >=24 + - send2trash >=1.8.2 + - terminado >=0.8.3 + - tornado >=6.2.0 + - traitlets >=5.6.0 + - websocket-client >=1.7 + license: BSD-3-Clause + license_family: BSD + size: 323978 + timestamp: 1720816754998 +- kind: conda + name: jupyter_server_terminals + version: 0.5.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_0.conda + sha256: 038efbc7e4b2e72d49ed193cfb2bbbe9fbab2459786ce9350301f466a32567db + md5: 219b3833aa8ed91d47d1be6ca03f30be + depends: + - python >=3.8 + - terminado >=0.8.3 + license: BSD-3-Clause + license_family: BSD + size: 19818 + timestamp: 1710262791393 +- kind: conda + name: jupyterlab + version: 4.3.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.0-pyhd8ed1ab_0.conda + sha256: a27e5227a11c2ce7b299d02f2f2c99713df4c9bb0e78ddd6cf8ffc6a77593dc2 + md5: 4e51411b565d07405d7d3245b9a3b8c1 + depends: + - async-lru >=1.0.0 + - httpx >=0.25.0 + - importlib-metadata >=4.8.3 + - importlib_resources >=1.4 + - ipykernel >=6.5.0 + - jinja2 >=3.0.3 + - jupyter-lsp >=2.0.0 + - jupyter_core + - jupyter_server >=2.4.0,<3 + - jupyterlab_server >=2.27.1,<3 + - notebook-shim >=0.2 + - packaging + - python >=3.8 + - setuptools >=40.1.0 + - tomli >=1.2.2 + - tornado >=6.2.0 + - traitlets + license: BSD-3-Clause + license_family: BSD + size: 7327279 + timestamp: 1730308848803 +- kind: conda + name: jupyterlab_pygments + version: 0.3.0 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda + sha256: 4aa622bbcf97e44cd1adf0100b7ff71b7e20268f043bdf6feae4d16152f1f242 + md5: afcd1b53bcac8844540358e33f33d28f + depends: + - pygments >=2.4.1,<3 + - python >=3.7 + constrains: + - jupyterlab >=4.0.8,<5.0.0 + license: BSD-3-Clause + license_family: BSD + size: 18776 + timestamp: 1707149279640 +- kind: conda + name: jupyterlab_server + version: 2.27.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_0.conda + sha256: a23b26d1a35bccdb91b9232119e5f402624e1e1a252b0e64cc20c6eb5b87cefb + md5: af8239bf1ba7e8c69b689f780f653488 + depends: + - babel >=2.10 + - importlib-metadata >=4.8.3 + - jinja2 >=3.0.3 + - json5 >=0.9.0 + - jsonschema >=4.18 + - jupyter_server >=1.21,<3 + - packaging >=21.3 + - python >=3.8 + - requests >=2.31 + constrains: + - openapi-core >=0.18.0,<0.19.0 + license: BSD-3-Clause + license_family: BSD + size: 49355 + timestamp: 1721163412436 +- kind: conda + name: keyutils + version: 1.6.1 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb + md5: 30186d27e2c9fa62b45fb1476b7200e3 + depends: + - libgcc-ng >=10.3.0 + license: LGPL-2.1-or-later + size: 117831 + timestamp: 1646151697040 +- kind: conda + name: keyutils + version: 1.6.1 + build: h4e544f5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.1-h4e544f5_0.tar.bz2 + sha256: 6d4233d97a9b38acbb26e1268bcf8c10a8e79c2aed7e5a385ec3769967e3e65b + md5: 1f24853e59c68892452ef94ddd8afd4b + depends: + - libgcc-ng >=10.3.0 + license: LGPL-2.1-or-later + size: 112327 + timestamp: 1646166857935 +- kind: conda + name: krb5 + version: 1.21.3 + build: h237132a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + sha256: 4442f957c3c77d69d9da3521268cad5d54c9033f1a73f99cde0a3658937b159b + md5: c6dc8a0fdec13a0565936655c33069a1 + depends: + - __osx >=11.0 + - libcxx >=16 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1155530 + timestamp: 1719463474401 +- kind: conda + name: krb5 + version: 1.21.3 + build: h50a48e9_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.21.3-h50a48e9_0.conda + sha256: 0ec272afcf7ea7fbf007e07a3b4678384b7da4047348107b2ae02630a570a815 + md5: 29c10432a2ca1472b53f299ffb2ffa37 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1474620 + timestamp: 1719463205834 +- kind: conda + name: krb5 + version: 1.21.3 + build: h659f571_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1370023 + timestamp: 1719463201255 +- kind: conda + name: ld_impl_linux-64 + version: '2.43' + build: h712a8e2_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda + sha256: 7c91cea91b13f4314d125d1bedb9d03a29ebbd5080ccdea70260363424646dbe + md5: 048b02e3962f066da18efe3a21b77672 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - binutils_impl_linux-64 2.43 + license: GPL-3.0-only + license_family: GPL + size: 669211 + timestamp: 1729655358674 +- kind: conda + name: ld_impl_linux-aarch64 + version: '2.43' + build: h80caac9_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.43-h80caac9_2.conda + sha256: 80ec7e8f006196808fac5bd4b3773a652847f97bbf08044cd87731424ac64f8b + md5: fcbde5ea19d55468953bf588770c0501 + constrains: + - binutils_impl_linux-aarch64 2.43 + license: GPL-3.0-only + license_family: GPL + size: 698245 + timestamp: 1729655345825 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_h00cdb27_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20240116.2-cxx17_h00cdb27_1.conda + sha256: a9517c8683924f4b3b9380cdaa50fdd2009cd8d5f3918c92f64394238189d3cb + md5: f16963d88aed907af8b90878b8d8a05c + depends: + - __osx >=11.0 + - libcxx >=16 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1136123 + timestamp: 1720857649214 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_h0a1ffab_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20240116.2-cxx17_h0a1ffab_1.conda + sha256: a6e1a6f13fd49c24238373838c266101a2bf3b521b0a36a3a7e586b40f50ec5b + md5: 9cadd103cf89edb2ea68d33728511158 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1283386 + timestamp: 1720857389114 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_he02047a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_he02047a_1.conda + sha256: 945396726cadae174a661ce006e3f74d71dbd719219faf7cc74696b267f7b0b5 + md5: c48fc56ec03229f294176923c3265c05 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1264712 + timestamp: 1720857377573 +- kind: conda + name: libarrow + version: 17.0.0 + build: had3b6fe_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-17.0.0-had3b6fe_16_cpu.conda + sha256: 9aa5598878cccc29de744ebc4b501c4a5a43332973edfdf0a19ddc521bd7248f + md5: c899e532e16be21570d32bc74ea3d34f + depends: + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - gflags >=2.2.2,<2.3.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libgcc >=13 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx >=13 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - parquet-cpp <0.0a0 + - arrow-cpp <0.0a0 + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 8495428 + timestamp: 1726669963852 +- kind: conda + name: libarrow + version: 17.0.0 + build: hc6a7651_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-17.0.0-hc6a7651_16_cpu.conda + sha256: 1facd5aa7140031be0f68733ab5e413ea1505da40548e27a173b2407046f36b5 + md5: 05fecc4ae5930dc548327980a4bc7a83 + depends: + - __osx >=11.0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libcxx >=17 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 5318871 + timestamp: 1726669928492 +- kind: conda + name: libarrow + version: 17.0.0 + build: hccffc7f_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-17.0.0-hccffc7f_16_cpu.conda + sha256: b71e81d0a685ad5832df0c1762d613be82d14a165e984621e0c874cd885a5df4 + md5: adc3e7dd910df20ef4a968f09fe90da0 + depends: + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - gflags >=2.2.2,<2.3.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libgcc >=13 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx >=13 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 7818979 + timestamp: 1726670314145 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: h5888daf_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-17.0.0-h5888daf_16_cpu.conda + sha256: 0ff4c712c7c61e60708c6ef4f8158200059e0f63c25d0a54c8e4cca7bd153d86 + md5: 18f796aae018a26a20ac51d19de69115 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 608267 + timestamp: 1726669999941 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: h5ad3122_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-acero-17.0.0-h5ad3122_16_cpu.conda + sha256: be9f73a92a00d991cc5946705c83c7b449f8cea6709ad29a2e05d6db7beb4b54 + md5: 0913ad25f0ebb327458c25d38bf9cf45 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 573902 + timestamp: 1726670347811 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: hf9b8971_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-17.0.0-hf9b8971_16_cpu.conda + sha256: c9ff43babc0acbd864584ed1720cf063715589e31e9e2024b90d2094d4f20d38 + md5: 319bd2a8c30dffa54d6ad69847f16de1 + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libcxx >=17 + license: Apache-2.0 + license_family: APACHE + size: 483187 + timestamp: 1726670022814 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: h5888daf_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-17.0.0-h5888daf_16_cpu.conda + sha256: e500e0154cf3ebb41bed3bdf41bd0ff5e0a6b7527a46ba755c05e59c8036e442 + md5: 5400efd6bf101674e0ce170906a0f7cb + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libarrow-acero 17.0.0 h5888daf_16_cpu + - libgcc >=13 + - libparquet 17.0.0 h39682fd_16_cpu + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 585061 + timestamp: 1726670063965 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: h5ad3122_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-dataset-17.0.0-h5ad3122_16_cpu.conda + sha256: 276af4de42960692a2ee34630659be11eb1e83552ec4752d59cc96e244382560 + md5: 2dc1bbff088399cca7137501cef4a741 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libarrow-acero 17.0.0 h5ad3122_16_cpu + - libgcc >=13 + - libparquet 17.0.0 h501616e_16_cpu + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 558058 + timestamp: 1726670424141 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: hf9b8971_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-17.0.0-hf9b8971_16_cpu.conda + sha256: e77d3c6825384c232f61fd3602a32507b66410dbe8879cd69a89b0fc49489533 + md5: 67ea0ef775de4c394c3c7db991297ffa + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libarrow-acero 17.0.0 hf9b8971_16_cpu + - libcxx >=17 + - libparquet 17.0.0 hf0ba9ef_16_cpu + license: Apache-2.0 + license_family: APACHE + size: 491606 + timestamp: 1726671006156 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: h08b7278_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-substrait-17.0.0-h08b7278_16_cpu.conda + sha256: 8f4179180db0ab8b7e759699e40533d893082e4556d2d6b81b20224e60312fa9 + md5: c677e8946781fd3b57ef3b8b1b883f4d + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 hccffc7f_16_cpu + - libarrow-acero 17.0.0 h5ad3122_16_cpu + - libarrow-dataset 17.0.0 h5ad3122_16_cpu + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 537621 + timestamp: 1726670458067 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: hbf8b706_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-17.0.0-hbf8b706_16_cpu.conda + sha256: 6880b3c8fb88ee6c0bbae34b0efea86567ccec1b8cd8a3662b8b8c6dfeb5e87a + md5: b739c909163c38f85f40f5650ab2aeb2 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libarrow-acero 17.0.0 hf9b8971_16_cpu + - libarrow-dataset 17.0.0 hf9b8971_16_cpu + - libcxx >=17 + - libprotobuf >=4.25.3,<4.25.4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 472812 + timestamp: 1726671149860 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: hf54134d_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-17.0.0-hf54134d_16_cpu.conda + sha256: 53f3d5f12c9ea557f33a4e1cf9067ce2dbb4211eff0a095574eeb7f0528bc044 + md5: 1cbc3fb1ee28c99e5f8c52920a7717a3 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libarrow-acero 17.0.0 h5888daf_16_cpu + - libarrow-dataset 17.0.0 h5888daf_16_cpu + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 550960 + timestamp: 1726670093831 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-25_linux64_openblas.conda + sha256: d6d12dc437d060f838820e9e61bf73baab651f91935ac594cf10beb9ef1b4450 + md5: 8ea26d42ca88ec5258802715fe1ee10b + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - liblapack 3.9.0 25_linux64_openblas + - libcblas 3.9.0 25_linux64_openblas + - blas * openblas + - liblapacke 3.9.0 25_linux64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15677 + timestamp: 1729642900350 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.9.0-25_linuxaarch64_openblas.conda + sha256: 5c08f78312874bb61307f5ea737377df2d0f6e7f7833ded21ca58d8820c794ca + md5: f9b8a4a955ed2d0b68b1f453abcc1c9e + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - liblapack 3.9.0 25_linuxaarch64_openblas + - libcblas 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15808 + timestamp: 1729643002627 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + sha256: f1fb9a11af0b2878bd8804b4c77d3733c40076218bcbdb35f575b1c0c9fddf11 + md5: f8cf4d920ff36ce471619010eff59cac + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15913 + timestamp: 1729643265495 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.1.0-h86ecc28_2.conda + sha256: 64112af913974b309d67fd342e065fd184347043a6387933b3db796778a28019 + md5: 3ee026955c688f551a9999840cff4c67 + depends: + - libgcc >=13 + license: MIT + license_family: MIT + size: 68982 + timestamp: 1725267774142 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + sha256: d9db2de60ea917298e658143354a530e9ca5f9c63471c65cf47ab39fd2f429e3 + md5: 41b599ed2b02abcfdd84302bff174b23 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 68851 + timestamp: 1725267660471 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-hd74edd7_2.conda + sha256: 839dacb741bdbb25e58f42088a2001b649f4f12195aeb700b5ddfca3267749e5 + md5: d0bf1dff146b799b319ea0434b93f779 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 68426 + timestamp: 1725267943211 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.1.0-h86ecc28_2.conda + sha256: 94c808d9ca3eb6ef30976a9843e27f027cf3a1e84e8c6835cbb696b7bdb35c4c + md5: e64d0f3b59c7c4047446b97a8624a72d + depends: + - libbrotlicommon 1.1.0 h86ecc28_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 31708 + timestamp: 1725267783442 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + sha256: 2892d512cad096cb03f1b66361deeab58b64e15ba525d6592bb6d609e7045edf + md5: 9566f0bd264fbd463002e759b8a82401 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 32696 + timestamp: 1725267669305 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-hd74edd7_2.conda + sha256: 6c6862eb274f21a7c0b60e5345467a12e6dda8b9af4438c66d496a2c1a538264 + md5: 55e66e68ce55523a6811633dd1ac74e2 + depends: + - __osx >=11.0 + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 28378 + timestamp: 1725267980316 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.1.0-h86ecc28_2.conda + sha256: 41385e17bc73834b235c5aff12d6d82eccb534acb3c30986996f9dad92a0d54c + md5: 0e9bd365480c72b25c71a448257b537d + depends: + - libbrotlicommon 1.1.0 h86ecc28_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 290230 + timestamp: 1725267792697 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + sha256: 779f58174e99de3600e939fa46eddb453ec5d3c60bb46cdaa8b4c127224dbf29 + md5: 06f70867945ea6a84d35836af780f1de + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 281750 + timestamp: 1725267679782 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-hd74edd7_2.conda + sha256: eeb1eb0d58b9d02bc1b98dc0a058f104ab168eb2f7d1c7bfa0570a12cfcdb7b7 + md5: 4f3a434504c67b2c42565c0b85c1885c + depends: + - __osx >=11.0 + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 279644 + timestamp: 1725268003553 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-25_linux64_openblas.conda + sha256: ab87b0477078837c91d9cda62a9faca18fba7c57cc77aa779ae24b3ac783b5dd + md5: 5dbd1b0fc0d01ec5e0e1fbe667281a11 + depends: + - libblas 3.9.0 25_linux64_openblas + constrains: + - liblapack 3.9.0 25_linux64_openblas + - blas * openblas + - liblapacke 3.9.0 25_linux64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15613 + timestamp: 1729642905619 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.9.0-25_linuxaarch64_openblas.conda + sha256: fde797e5528040fed0e9228dd75331be0cf5cbb0bc63641f53c3cca9eb86ec16 + md5: db6af51123c67814572a8c25542cb368 + depends: + - libblas 3.9.0 25_linuxaarch64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - liblapack 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15700 + timestamp: 1729643006729 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + sha256: d9fa5b6b11252132a3383bbf87bd2f1b9d6248bef1b7e113c2a8ae41b0376218 + md5: 4df0fae81f0b5bf47d48c882b086da11 + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15837 + timestamp: 1729643270793 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: h01db608_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcrc32c-1.1.2-h01db608_0.tar.bz2 + sha256: b8b8c57a87da86b3ea24280fd6aa8efaf92f4e684b606bf2db5d3cb06ffbe2ea + md5: 268ee639c17ada0002fb04dd21816cc2 + depends: + - libgcc-ng >=9.4.0 + - libstdcxx-ng >=9.4.0 + license: BSD-3-Clause + license_family: BSD + size: 18669 + timestamp: 1633683724891 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: h9c3ff4c_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 + md5: c965a5aa0d5c1c37ffc62dff36e28400 + depends: + - libgcc-ng >=9.4.0 + - libstdcxx-ng >=9.4.0 + license: BSD-3-Clause + license_family: BSD + size: 20440 + timestamp: 1633683576494 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: hbdafb3b_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + sha256: 58477b67cc719060b5b069ba57161e20ba69b8695d154a719cb4b60caf577929 + md5: 32bd82a6a625ea6ce090a81c3d34edeb + depends: + - libcxx >=11.1.0 + license: BSD-3-Clause + license_family: BSD + size: 18765 + timestamp: 1633683992603 +- kind: conda + name: libcurl + version: 8.10.1 + build: h13a7ad3_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.10.1-h13a7ad3_0.conda + sha256: 983a977c5627f975a930542c8aabb46089ec6ea72f28d9c4d3ee8eafaf2fc25a + md5: d84030d0863ffe7dea00b9a807fee961 + depends: + - __osx >=11.0 + - krb5 >=1.21.3,<1.22.0a0 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 379948 + timestamp: 1726660033582 +- kind: conda + name: libcurl + version: 8.10.1 + build: h3ec0cbf_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.10.1-h3ec0cbf_0.conda + sha256: 7c4983001c727f713b4448280ed4803d301087c184cd2819ba0b788ca62b73d1 + md5: f43539295c4e0cd15202d41bc72b8a26 + depends: + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 439171 + timestamp: 1726659843118 +- kind: conda + name: libcurl + version: 8.10.1 + build: hbbe4b11_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.10.1-hbbe4b11_0.conda + sha256: 54e6114dfce566c3a22ad3b7b309657e3600cdb668398e95f1301360d5d52c99 + md5: 6e801c50a40301f6978c53976917b277 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 424900 + timestamp: 1726659794676 +- kind: conda + name: libcxx + version: 19.1.3 + build: ha82da77_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + sha256: 6d062760c6439e75b9a44d800d89aff60fe3441998d87506c62dc94c50412ef4 + md5: bf691071fba4734984231617783225bc + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 520771 + timestamp: 1730314603920 +- kind: conda + name: libedit + version: 3.1.20191231 + build: hc8eb9b7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20191231-hc8eb9b7_2.tar.bz2 + sha256: 3912636197933ecfe4692634119e8644904b41a58f30cad9d1fc02f6ba4d9fca + md5: 30e4362988a2623e9eb34337b83e01f9 + depends: + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 96607 + timestamp: 1597616630749 +- kind: conda + name: libedit + version: 3.1.20191231 + build: he28a2e2_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf + md5: 4d331e44109e3f0e19b4cb8f9b82f3e1 + depends: + - libgcc-ng >=7.5.0 + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 123878 + timestamp: 1597616541093 +- kind: conda + name: libedit + version: 3.1.20191231 + build: he28a2e2_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + sha256: debc31fb2f07ba2b0363f90e455873670734082822926ba4a9556431ec0bf36d + md5: 29371161d77933a54fccf1bb66b96529 + depends: + - libgcc-ng >=7.5.0 + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 134104 + timestamp: 1597617110769 +- kind: conda + name: libev + version: '4.33' + build: h31becfc_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h31becfc_2.conda + sha256: 973af77e297f1955dd1f69c2cbdc5ab9dfc88388a5576cd152cda178af0fd006 + md5: a9a13cb143bbaa477b1ebaefbe47a302 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 115123 + timestamp: 1702146237623 +- kind: conda + name: libev + version: '4.33' + build: h93a5062_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + sha256: 95cecb3902fbe0399c3a7e67a5bed1db813e5ab0e22f4023a5e0f722f2cc214f + md5: 36d33e440c31857372a72137f78bacf5 + license: BSD-2-Clause + license_family: BSD + size: 107458 + timestamp: 1702146414478 +- kind: conda + name: libev + version: '4.33' + build: hd590300_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + md5: 172bf1cd1ff8629f2b1179945ed45055 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 112766 + timestamp: 1702146165126 +- kind: conda + name: libevent + version: 2.1.12 + build: h2757513_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + sha256: 8c136d7586259bb5c0d2b913aaadc5b9737787ae4f40e3ad1beaf96c80b919b7 + md5: 1a109764bff3bdc7bdd84088347d71dc + depends: + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 368167 + timestamp: 1685726248899 +- kind: conda + name: libevent + version: 2.1.12 + build: h4ba1bb4_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda + sha256: 01333cc7d6e6985dd5700b43660d90e9e58049182017fd24862088ecbe1458e4 + md5: 96ae6083cd1ac9f6bc81631ac835b317 + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 438992 + timestamp: 1685726046519 +- kind: conda + name: libevent + version: 2.1.12 + build: hf998b51_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 + md5: a1cfcc585f0c42bf8d5546bb1dfb668d + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 427426 + timestamp: 1685725977222 +- kind: conda + name: libexpat + version: 2.6.3 + build: h5888daf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda + sha256: 4bb47bb2cd09898737a5211e2992d63c555d63715a07ba56eae0aff31fb89c22 + md5: 59f4c43bb1b5ef1c71946ff2cbf59524 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 73616 + timestamp: 1725568742634 +- kind: conda + name: libexpat + version: 2.6.3 + build: h5ad3122_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.6.3-h5ad3122_0.conda + sha256: 02341c9c35128055fd404dfe675832b80f2bf9dbb99539457652c11c06e52757 + md5: 1d2b842bb76e268625e8ee8d0a9fe8c3 + depends: + - libgcc >=13 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 72342 + timestamp: 1725568840022 +- kind: conda + name: libexpat + version: 2.6.3 + build: hf9b8971_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda + sha256: 5cbe5a199fba14ade55457a468ce663aac0b54832c39aa54470b3889b4c75c4a + md5: 5f22f07c2ab2dea8c66fe9585a062c96 + depends: + - __osx >=11.0 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 63895 + timestamp: 1725568783033 +- kind: conda + name: libffi + version: 3.4.2 + build: h3422bc3_5 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca + md5: 086914b672be056eb70fd4285b6783b6 + license: MIT + license_family: MIT + size: 39020 + timestamp: 1636488587153 +- kind: conda + name: libffi + version: 3.4.2 + build: h3557bc0_5 + build_number: 5 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.4.2-h3557bc0_5.tar.bz2 + sha256: 7e9258a102480757fe3faeb225a3ca04dffd10fecd2a958c65cdb4cdf75f2c3c + md5: dddd85f4d52121fab0a8b099c5e06501 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 59450 + timestamp: 1636488255090 +- kind: conda + name: libffi + version: 3.4.2 + build: h7f98852_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e + md5: d645c6d2ac96843a2bfaccd2d62b3ac3 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 58292 + timestamp: 1636488182923 +- kind: conda + name: libgcc + version: 14.2.0 + build: h77fa898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h77fa898_1.conda + sha256: 53eb8a79365e58849e7b1a068d31f4f9e718dc938d6f2c03e960345739a03569 + md5: 3cb76c3f10d3bc7f1105b2fc9db984df + depends: + - _libgcc_mutex 0.1 conda_forge + - _openmp_mutex >=4.5 + constrains: + - libgomp 14.2.0 h77fa898_1 + - libgcc-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 848745 + timestamp: 1729027721139 +- kind: conda + name: libgcc + version: 14.2.0 + build: he277a41_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_1.conda + sha256: 5d56757ccad208c79214395b00d006d8d18929a4ba49c47bd9460789a7620943 + md5: 511b511c5445e324066c3377481bcab8 + depends: + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==14.2.0=*_1 + - libgomp 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 535243 + timestamp: 1729089435134 +- kind: conda + name: libgcc-ng + version: 14.2.0 + build: h69a702a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_1.conda + sha256: 3a76969c80e9af8b6e7a55090088bc41da4cffcde9e2c71b17f44d37b7cb87f7 + md5: e39480b9ca41323497b05492a63bc35b + depends: + - libgcc 14.2.0 h77fa898_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54142 + timestamp: 1729027726517 +- kind: conda + name: libgcc-ng + version: 14.2.0 + build: he9431aa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_1.conda + sha256: 9b5cf168a6c7361cae869cb74b716766ee7c6d6b3f6172b32ba9bf91135efdc4 + md5: 0694c249c61469f2c0f7e2990782af21 + depends: + - libgcc 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54104 + timestamp: 1729089444587 +- kind: conda + name: libgfortran + version: 5.0.0 + build: 13_2_0_hd922786_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + sha256: 44e541b4821c96b28b27fef5630883a60ce4fee91fd9c79f25a199f8f73f337b + md5: 4a55d9e169114b2b90d3ec4604cd7bbf + depends: + - libgfortran5 13.2.0 hf226fd6_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 110233 + timestamp: 1707330749033 +- kind: conda + name: libgfortran + version: 14.2.0 + build: h69a702a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda + sha256: fc9e7f22a17faf74da904ebfc4d88699013d2992e55505e4aa0eb01770290977 + md5: f1fd30127802683586f768875127a987 + depends: + - libgfortran5 14.2.0 hd5240d6_1 + constrains: + - libgfortran-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 53997 + timestamp: 1729027752995 +- kind: conda + name: libgfortran + version: 14.2.0 + build: he9431aa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-14.2.0-he9431aa_1.conda + sha256: cb66e411fa32a5c6040f4e5e2a63c00897aae4c3133a9c004c2e929ccf19575b + md5: 0294b92d2f47a240bebb1e3336b495f1 + depends: + - libgfortran5 14.2.0 hb6113d0_1 + constrains: + - libgfortran-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54105 + timestamp: 1729089471124 +- kind: conda + name: libgfortran5 + version: 13.2.0 + build: hf226fd6_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + sha256: bafc679eedb468a86aa4636061c55966186399ee0a04b605920d208d97ac579a + md5: 66ac81d54e95c534ae488726c1f698ea + depends: + - llvm-openmp >=8.0.0 + constrains: + - libgfortran 5.0.0 13_2_0_*_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 997381 + timestamp: 1707330687590 +- kind: conda + name: libgfortran5 + version: 14.2.0 + build: hb6113d0_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-14.2.0-hb6113d0_1.conda + sha256: a87ff46d19916403cbf68cf1d785bf56b4d1ab7b2552468d2ea775d70782493f + md5: fc068e11b10e18f184e027782baa12b6 + depends: + - libgcc >=14.2.0 + constrains: + - libgfortran 14.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 1102158 + timestamp: 1729089452640 +- kind: conda + name: libgfortran5 + version: 14.2.0 + build: hd5240d6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hd5240d6_1.conda + sha256: d149a37ca73611e425041f33b9d8dbed6e52ec506fe8cc1fc0ee054bddeb6d5d + md5: 9822b874ea29af082e5d36098d25427d + depends: + - libgcc >=14.2.0 + constrains: + - libgfortran 14.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 1462645 + timestamp: 1729027735353 +- kind: conda + name: libgomp + version: 14.2.0 + build: h77fa898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h77fa898_1.conda + sha256: 1911c29975ec99b6b906904040c855772ccb265a1c79d5d75c8ceec4ed89cd63 + md5: cc3573974587f12dda90d96e3e55a702 + depends: + - _libgcc_mutex 0.1 conda_forge + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 460992 + timestamp: 1729027639220 +- kind: conda + name: libgomp + version: 14.2.0 + build: he277a41_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_1.conda + sha256: 5aa53874a5e57a00f2e0c2e2910684eb674429cd5fcb803619b226a73e89aedf + md5: 376f0e73abbda6d23c0cb749adc195ef + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 463521 + timestamp: 1729089357313 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: h435de7b_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.29.0-h435de7b_0.conda + sha256: c8ee42a4acce5227d220ec6500f6872d52d82e478c76648b9ff57dd2d86429bd + md5: 5d95d9040c4319997644f68e9aefbe70 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libgcc >=13 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 1241649 + timestamp: 1725640926284 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: hbb89541_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-2.29.0-hbb89541_0.conda + sha256: a604681e3a6a7b6214df0406afd1a225349e9cd1f8c177826140811315a938ba + md5: a2ca6f7068595e4c3e2ee8214106786b + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libgcc >=13 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 1231400 + timestamp: 1725642021621 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: hfa33a2f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.29.0-hfa33a2f_0.conda + sha256: 1f42048702d773a355d276d24313ac63781a331959fc3662c6be36e979d7845c + md5: f78c7bd435ee45f4661daae9e81ddf13 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libcxx >=17 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 866727 + timestamp: 1725640714587 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: h0121fbd_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.29.0-h0121fbd_0.conda + sha256: 2847c9e940b742275a7068e0a742bdabf211bf0b2bbb1453592d6afb47c7e17e + md5: 06dfd5208170b56eee943d9ac674a533 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=13 + - libgoogle-cloud 2.29.0 h435de7b_0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 781655 + timestamp: 1725641060970 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: h90fd6fa_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.29.0-h90fd6fa_0.conda + sha256: ec80383fbb6fae95d2ff7d04ba46b282ab48219b7ce85b3cd5ee7d0d8bae74e1 + md5: baee0b9cb1c5319f370a534ca5a16267 + depends: + - __osx >=11.0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libcxx >=17 + - libgoogle-cloud 2.29.0 hfa33a2f_0 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 535346 + timestamp: 1725641618955 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: hb9b2b65_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-storage-2.29.0-hb9b2b65_0.conda + sha256: d477736704021486ffde0b117290d8c1f29a434f02ab9a21d4458e41212c448f + md5: 5f75545cfccc08fb2f79256e0b8a2fb6 + depends: + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=13 + - libgoogle-cloud 2.29.0 hbb89541_0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 736327 + timestamp: 1725642186647 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h15f2491_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda + sha256: 28241ed89335871db33cb6010e9ccb2d9e9b6bb444ddf6884f02f0857363c06a + md5: 8dabe607748cb3d7002ad73cd06f1325 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 7316832 + timestamp: 1713390645548 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h98a9317_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgrpc-1.62.2-h98a9317_0.conda + sha256: ae5fe7ba0c5c599f0e20fa08be436518b7ef25ab6f705e8c7fcf0d0f34525f72 + md5: 2a669953ec0f08c2cc56bb43fed78de8 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 7395259 + timestamp: 1713390742813 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h9c18a4f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.62.2-h9c18a4f_0.conda + sha256: d2c5b5a828f6f1242c11e8c91968f48f64446f7dd5cbfa1197545e465eb7d47a + md5: e624fc11026dbb84c549435eccd08623 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libcxx >=16 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 5016525 + timestamp: 1713392846329 +- kind: conda + name: libiconv + version: '1.17' + build: h0d3ecfb_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + sha256: bc7de5097b97bcafcf7deaaed505f7ce02f648aac8eccc0d5a47cc599a1d0304 + md5: 69bda57310071cf6d2b86caf11573d2d + license: LGPL-2.1-only + size: 676469 + timestamp: 1702682458114 +- kind: conda + name: libiconv + version: '1.17' + build: h31becfc_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.17-h31becfc_2.conda + sha256: a30e09d089cb75a0d5b8e5c354694c1317da98261185ed65aa3793e741060614 + md5: 9a8eb13f14de7d761555a98712e6df65 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + size: 705787 + timestamp: 1702684557134 +- kind: conda + name: libiconv + version: '1.17' + build: hd590300_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda + sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9 + md5: d66573916ffcf376178462f1b61c941e + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + size: 705775 + timestamp: 1702682170569 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-25_linux64_openblas.conda + sha256: 9d1ff017714edb2d84868f0f931a4a0e7c289a971062b2ac66cfc8145df7e20e + md5: 4dc03a53fc69371a6158d0ed37214cd3 + depends: + - libblas 3.9.0 25_linux64_openblas + constrains: + - liblapacke 3.9.0 25_linux64_openblas + - libcblas 3.9.0 25_linux64_openblas + - blas * openblas + license: BSD-3-Clause + license_family: BSD + size: 15608 + timestamp: 1729642910812 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.9.0-25_linuxaarch64_openblas.conda + sha256: 2b399e65e0338bf249657b98333e910cd7086ea1332d4d6f303735883ca49318 + md5: 0eb74e81de46454960bde9e44e7ee378 + depends: + - libblas 3.9.0 25_linuxaarch64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - libcblas 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15711 + timestamp: 1729643010817 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + sha256: fdd742407672a9af20e70764550cf18b3ab67f12e48bf04163b90492fbc401e7 + md5: 19bbddfec972d401838330453186108d + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15823 + timestamp: 1729643275943 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: h161d5f1_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + sha256: b0f2b3695b13a989f75d8fd7f4778e1c7aabe3b36db83f0fe80b2cd812c0e975 + md5: 19e57602824042dfd0446292ef90488b + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.32.3,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 647599 + timestamp: 1729571887612 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: h6d7220d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + sha256: 00cc685824f39f51be5233b54e19f45abd60de5d8847f1a56906f8936648b72f + md5: 3408c02539cee5f1141f9f11450b6a51 + depends: + - __osx >=11.0 + - c-ares >=1.34.2,<2.0a0 + - libcxx >=17 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 566719 + timestamp: 1729572385640 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: hc8609a4_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.64.0-hc8609a4_0.conda + sha256: c093c6d370aadbf0409c20b6c54c488ee2f6fea976181919fcc63e87ee232673 + md5: f52c614fa214a8bedece9421c771670d + depends: + - c-ares >=1.32.3,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 714610 + timestamp: 1729571912479 +- kind: conda + name: libnsl + version: 2.0.1 + build: h31becfc_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h31becfc_0.conda + sha256: fd18c2b75d7411096428d36a70b36b1a17e31f7b8956b6905d145792d49e97f8 + md5: c14f32510f694e3185704d89967ec422 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + size: 34501 + timestamp: 1697358973269 +- kind: conda + name: libnsl + version: 2.0.1 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6 + md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + size: 33408 + timestamp: 1697359010159 +- kind: conda + name: libopenblas + version: 0.3.28 + build: openmp_hf332438_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + sha256: 62bb669c37a845129096f73d446cdb6bb170e4927f2fea2b661329680dbbc373 + md5: 40803a48d947c8639da6704e9a44d3ce + depends: + - __osx >=11.0 + - libgfortran 5.* + - libgfortran5 >=13.2.0 + - llvm-openmp >=18.1.8 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 4165774 + timestamp: 1730772154295 +- kind: conda + name: libopenblas + version: 0.3.28 + build: pthreads_h94d23a6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + sha256: 99ba271d8a80a1af2723f2e124ffd91d850074c0389c067e6d96d72a2dbfeabe + md5: 62857b389e42b36b686331bec0922050 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 5578513 + timestamp: 1730772671118 +- kind: conda + name: libopenblas + version: 0.3.28 + build: pthreads_h9d3fd7e_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.28-pthreads_h9d3fd7e_1.conda + sha256: 30623a40764e935aa77e0d4db54c1a1589189a9bf3a03fdb445505c1e319b5a6 + md5: e8dde93dd199da3c1f2c1fcfd0042cd4 + depends: + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 4793435 + timestamp: 1730773029647 +- kind: conda + name: libparquet + version: 17.0.0 + build: h39682fd_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libparquet-17.0.0-h39682fd_16_cpu.conda + sha256: 09bc64111e5e1e9f5fee78efdd62592e01c681943fe6e91b369f6580dc8726c4 + md5: dd1fee2da0659103080fdd74004656df + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libgcc >=13 + - libstdcxx >=13 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1186069 + timestamp: 1726670048098 +- kind: conda + name: libparquet + version: 17.0.0 + build: h501616e_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libparquet-17.0.0-h501616e_16_cpu.conda + sha256: 7d834aec3ee3cc1069bd780862bbb0f339265e2386692252f375c1e380bc8f5f + md5: 0f366d30bc01ea47e04b7034d408d6d4 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libgcc >=13 + - libstdcxx >=13 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1104185 + timestamp: 1726670404384 +- kind: conda + name: libparquet + version: 17.0.0 + build: hf0ba9ef_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-17.0.0-hf0ba9ef_16_cpu.conda + sha256: 6ed28f06409b02a9f521ee5e8cf2f4d3fb63a7633c11f2ee7ec2880e78e184e5 + md5: 517ecf2ee0c2822e6120c258f3acd383 + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libcxx >=17 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 873007 + timestamp: 1726670938318 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hc39d83c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-4.25.3-hc39d83c_1.conda + sha256: f51bde2dfe73968ab3090c1098f520b65a8d8f11e945cb13bf74d19e30966b61 + md5: fa77986d9170450c014586ab87e144f8 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcxx >=17 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2177164 + timestamp: 1727160770879 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hd5b35b9_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.3-hd5b35b9_1.conda + sha256: 8b5e4e31ed93bf36fd14e9cf10cd3af78bb9184d0f1f87878b8d28c0374aa4dc + md5: 06def97690ef90781a91b786cb48a0a9 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2883090 + timestamp: 1727161327039 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hea2c3fa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-4.25.3-hea2c3fa_1.conda + sha256: dabf4632d39b29444d157c226f4df146fa347c82540c39bf6f9545f2a7d0f40c + md5: c06acb4f972c516696590e6d6ffb69c7 + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2613905 + timestamp: 1727160673211 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h5a48ba9_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2023.09.01-h5a48ba9_2.conda + sha256: 3f3c65fe0e9e328b4c1ebc2b622727cef3e5b81b18228cfa6cf0955bc1ed8eff + md5: 41c69fba59d495e8cf5ffda48a607e35 + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 232603 + timestamp: 1708946763521 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h7b2c953_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2023.09.01-h7b2c953_2.conda + sha256: c8a0a6e7a627dc9c66ffb8858f8f6d499f67fd269b6636b25dc5169760610f05 + md5: 0b7b2ced046d6b5fe6e9d46b1ee0324c + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libcxx >=16 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 171443 + timestamp: 1708947163461 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h9d008c2_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libre2-11-2023.09.01-h9d008c2_2.conda + sha256: 1da5cfd57091a52c822ec9580694f1e07817e53db43b0407a477daa2d2a16fcd + md5: 387c114aadcaeb02210f646c4b5efca2 + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 217529 + timestamp: 1708946830978 +- kind: conda + name: libsodium + version: 1.0.20 + build: h4ab18f5_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + sha256: 0105bd108f19ea8e6a78d2d994a6d4a8db16d19a41212070d2d1d48a63c34161 + md5: a587892d3c13b6621a6091be690dbca2 + depends: + - libgcc-ng >=12 + license: ISC + size: 205978 + timestamp: 1716828628198 +- kind: conda + name: libsodium + version: 1.0.20 + build: h68df207_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.20-h68df207_0.conda + sha256: 448df5ea3c5cf1af785aad46858d7a5be0522f4234a4dc9bb764f4d11ff3b981 + md5: 2e4a8f23bebdcb85ca8e5a0fbe75666a + depends: + - libgcc-ng >=12 + license: ISC + size: 177394 + timestamp: 1716828514515 +- kind: conda + name: libsodium + version: 1.0.20 + build: h99b78c6_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.20-h99b78c6_0.conda + sha256: fade8223e1e1004367d7101dd17261003b60aa576df6d7802191f8972f7470b1 + md5: a7ce36e284c5faaf93c220dfc39e3abd + depends: + - __osx >=11.0 + license: ISC + size: 164972 + timestamp: 1716828607917 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hadc24fc_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + sha256: 8a9aadf996a2399f65b679c6e7f29139d5059f699c63e6d7b50e20db10c00508 + md5: b6f02b52a174e612e89548f4663ce56a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 875349 + timestamp: 1730208050020 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hbaaea75_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e + md5: 07a14fbe439eef078cc479deca321161 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 837683 + timestamp: 1730208293578 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hc4a20ef_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.47.0-hc4a20ef_1.conda + sha256: 73e143fdb966b61cd25ab804d416d87dfce43ac684e0fac3ad8b1450796331ab + md5: a6b185aac10d08028340858f77231b23 + depends: + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 1041855 + timestamp: 1730208187962 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h0841786_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d + md5: 1f5a58e686b13bcfde88b93f547d23fe + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 271133 + timestamp: 1685837707056 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h492db2e_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.0-h492db2e_0.conda + sha256: 409163dd4a888b9266369f1bce57b5ca56c216e34249637c3e10eb404e356171 + md5: 45532845e121677ad328c9af9953f161 + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 284335 + timestamp: 1685837600415 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h7a5bd25_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.0-h7a5bd25_0.conda + sha256: bb57d0c53289721fff1eeb3103a1c6a988178e88d8a8f4345b0b91a35f0e0015 + md5: 029f7dc931a3b626b94823bc77830b01 + depends: + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 255610 + timestamp: 1685837894256 +- kind: conda + name: libstdcxx + version: 14.2.0 + build: h3f4de04_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-14.2.0-h3f4de04_1.conda + sha256: 519556d2c93f1b487091ce046d62e762286177f4a670ec10e16005177d0bcab3 + md5: 37f489acd39e22b623d2d1e5ac6d195c + depends: + - libgcc 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3816794 + timestamp: 1729089463404 +- kind: conda + name: libstdcxx + version: 14.2.0 + build: hc0a3c3a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda + sha256: 4661af0eb9bdcbb5fb33e5d0023b001ad4be828fccdcc56500059d56f9869462 + md5: 234a5554c53625688d51062645337328 + depends: + - libgcc 14.2.0 h77fa898_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3893695 + timestamp: 1729027746910 +- kind: conda + name: libstdcxx-ng + version: 14.2.0 + build: h4852527_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda + sha256: 25bb30b827d4f6d6f0522cc0579e431695503822f144043b93c50237017fffd8 + md5: 8371ac6457591af2cf6159439c1fd051 + depends: + - libstdcxx 14.2.0 hc0a3c3a_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54105 + timestamp: 1729027780628 +- kind: conda + name: libstdcxx-ng + version: 14.2.0 + build: hf1166c9_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-14.2.0-hf1166c9_1.conda + sha256: 9f97461bd55a2745a7a0941f3502a047f15bfe7bb2952dc7fb204b3202f866fd + md5: 0e75771b8a03afae5a2c6ce71bc733f5 + depends: + - libstdcxx 14.2.0 h3f4de04_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54133 + timestamp: 1729089498541 +- kind: conda + name: libthrift + version: 0.20.0 + build: h0e7cc3e_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.20.0-h0e7cc3e_1.conda + sha256: 3e70dfda31a3ce28310c86cc0001f20abb78c917502e12c94285a1337fe5b9f0 + md5: d0ed81c4591775b70384f4cc78e05cd1 + depends: + - __glibc >=2.17,<3.0.a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc-ng >=13 + - libstdcxx-ng >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 417404 + timestamp: 1724652349098 +- kind: conda + name: libthrift + version: 0.20.0 + build: h154c74f_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libthrift-0.20.0-h154c74f_1.conda + sha256: 283a6fbac3e6de97f25144306fb46dc5f6d6fc7f4052a4f8ec6da0cb806025b5 + md5: c0bd829d4ef1b1be0c5b8bf206c0cd6d + depends: + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc-ng >=13 + - libstdcxx-ng >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 408434 + timestamp: 1724652544563 +- kind: conda + name: libthrift + version: 0.20.0 + build: h64651cc_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.20.0-h64651cc_1.conda + sha256: b6afcbc934258e0474e0f1059bc7b23865723b902062f2f2910e0370e6495401 + md5: 4cf2e5233320648397184415f380c891 + depends: + - __osx >=11.0 + - libcxx >=17 + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 315041 + timestamp: 1724657608736 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.8.0-h166bdaf_0.tar.bz2 + sha256: 49082ee8d01339b225f7f8c60f32a2a2c05fe3b16f31b554b4fb2c1dea237d1c + md5: ede4266dc02e875fe1ea77b25dd43747 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 101070 + timestamp: 1667316029302 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h1a8c8d9_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.8.0-h1a8c8d9_0.tar.bz2 + sha256: a3faddac08efd930fa3a1cc254b5053b4ed9428c49a888d437bf084d403c931a + md5: f8c9c41a122ab3abdf8943b13f4957ee + license: MIT + license_family: MIT + size: 103492 + timestamp: 1667316405233 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h4e544f5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libutf8proc-2.8.0-h4e544f5_0.tar.bz2 + sha256: c1956b64ad9613c66cf87398f5e2c36d071034a93892da7e8cc22e75cface878 + md5: bf0defbd8ac06270fb5ec05c85fb3c96 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 101529 + timestamp: 1667315331359 +- kind: conda + name: libuuid + version: 2.38.1 + build: h0b41bf4_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18 + md5: 40b61aab5c7ba9ff276c41cfffe6b80b + depends: + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 33601 + timestamp: 1680112270483 +- kind: conda + name: libuuid + version: 2.38.1 + build: hb4cce97_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.38.1-hb4cce97_0.conda + sha256: 616277b0c5f7616c2cdf36f6c316ea3f9aa5bb35f2d4476a349ab58b9b91675f + md5: 000e30b09db0b7c775b21695dff30969 + depends: + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 35720 + timestamp: 1680113474501 +- kind: conda + name: libuv + version: 1.49.2 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.49.2-h7ab814d_0.conda + sha256: 0e5176af1e788ad5006cf261c4ea5a288a935fda48993b0240ddd2e562dc3d02 + md5: 4bc348e3a1a74d20a3f9beb866d75e0a + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 410500 + timestamp: 1729322654121 +- kind: conda + name: libuv + version: 1.49.2 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.49.2-h86ecc28_0.conda + sha256: adf4eca89339ac7780f2394e7e6699be81259eb91f79f9d9fdf2c1bc6b26f210 + md5: 1899e1ec2be63386c41c4db31d3056af + depends: + - libgcc >=13 + license: MIT + license_family: MIT + size: 627484 + timestamp: 1729322575379 +- kind: conda + name: libuv + version: 1.49.2 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda + sha256: a35cd81cd1a9add11024097da83cc06b0aae83186fe4124b77710876f37d8f31 + md5: 070e3c9ddab77e38799d5c30b109c633 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 884647 + timestamp: 1729322566955 +- kind: conda + name: libxcrypt + version: 4.4.36 + build: h31becfc_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + sha256: 6b46c397644091b8a26a3048636d10b989b1bf266d4be5e9474bf763f828f41f + md5: b4df5d7d4b63579d081fd3a4cf99740e + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 114269 + timestamp: 1702724369203 +- kind: conda + name: libxcrypt + version: 4.4.36 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 100393 + timestamp: 1702724383534 +- kind: conda + name: libxml2 + version: 2.13.4 + build: h064dc61_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.4-h064dc61_2.conda + sha256: d80f927754f8531768723f23b367d0cff24faa307cc5a64d146b23fddb8a2976 + md5: 61e2f77697c8c502633743bc0d160a80 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + constrains: + - icu <0.0a0 + license: MIT + license_family: MIT + size: 689361 + timestamp: 1730355822995 +- kind: conda + name: libxml2 + version: 2.13.4 + build: h8424949_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.4-h8424949_2.conda + sha256: 51048cd9d4d7ab3ab440bac01d1db8193ae1bd3e9502cdf6792a69c792fec2e5 + md5: 3f0764c38bc02720231d49d6035531f2 + depends: + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + license: MIT + license_family: MIT + size: 572400 + timestamp: 1730356085177 +- kind: conda + name: libxml2 + version: 2.13.4 + build: hf4efe5d_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.13.4-hf4efe5d_2.conda + sha256: 69d6197742a7cca2c9a030bf5c6f61d943d45deeaeb3b2df92ebdfd933524ae0 + md5: 0e28ab30d29c5a566d05bf73dfc5c184 + depends: + - icu >=75.1,<76.0a0 + - libgcc >=13 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + license: MIT + license_family: MIT + size: 733127 + timestamp: 1730356005200 +- kind: conda + name: libzlib + version: 1.3.1 + build: h8359307_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b + md5: 369964e85dc26bfe78f41399b366c435 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 46438 + timestamp: 1727963202283 +- kind: conda + name: libzlib + version: 1.3.1 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + sha256: 5a2c1eeef69342e88a98d1d95bff1603727ab1ff4ee0e421522acd8813439b84 + md5: 08aad7cbe9f5a6b460d0976076b6ae64 + depends: + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 66657 + timestamp: 1727963199518 +- kind: conda + name: libzlib + version: 1.3.1 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + md5: edb0dca6bc32e4f4789199455a1dbeb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 60963 + timestamp: 1727963148474 +- kind: conda + name: llvm-openmp + version: 19.1.3 + build: hb52a8e5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + sha256: 49a8940e727aa82ee034fa9a60b3fcababec41b3192d955772aab635a5374b82 + md5: dd695d23e78d1ca4fecce969b1e1db61 + depends: + - __osx >=11.0 + constrains: + - openmp 19.1.3|19.1.3.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + size: 280488 + timestamp: 1730364082380 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hb7217d7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.9.4-hb7217d7_0.conda + sha256: fc343b8c82efe40819b986e29ba748366514e5ab94a1e1138df195af5f45fa24 + md5: 45505bec548634f7d05e02fb25262cb9 + depends: + - libcxx >=14.0.6 + license: BSD-2-Clause + license_family: BSD + size: 141188 + timestamp: 1674727268278 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hcb278e6_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + sha256: 1b4c105a887f9b2041219d57036f72c4739ab9e9fe5a1486f094e58c76b31f5f + md5: 318b08df404f9c9be5712aaa5a6f0bb0 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 143402 + timestamp: 1674727076728 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hd600fc2_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.9.4-hd600fc2_0.conda + sha256: 076870eb72411f41c46598c7582a2f3f42ba94c526a2d60a0c8f70a0a7a64429 + md5: 500145a83ed07ce79c8cef24252f366b + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 163770 + timestamp: 1674727020254 +- kind: conda + name: markdown-it-py + version: 3.0.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + sha256: c041b0eaf7a6af3344d5dd452815cdc148d6284fec25a4fa3f4263b3a021e962 + md5: 93a8e71256479c62074356ef6ebf501b + depends: + - mdurl >=0.1,<1 + - python >=3.8 + license: MIT + license_family: MIT + size: 64356 + timestamp: 1686175179621 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py312h178313f_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_0.conda + sha256: 15f14ab429c846aacd47fada0dc4f341d64491e097782830f0906d00cb7b48b6 + md5: a755704ea0e2503f8c227d84829a8e81 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 24878 + timestamp: 1729351558563 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py312h74ce7d3_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.2-py312h74ce7d3_0.conda + sha256: 997baf7f46bce112f6e0390efaa7fbb892b8f31567d3c554f08ac636774d74f7 + md5: 8992b90e8374193d53118f7651db0b73 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 25013 + timestamp: 1729352489213 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py312ha0ccf2a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py312ha0ccf2a_0.conda + sha256: 360e958055f35e5087942b9c499eaafae984a951b84cf354ef7481a2806f340d + md5: c6ff9f291d011c9d4f0b840f49435c64 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 24495 + timestamp: 1729351534830 +- kind: conda + name: matplotlib-inline + version: 0.1.7 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda + sha256: 7ea68676ea35fbb095420bbcc1c82c4767b8be7bb56abb6989b7f89d957a3bab + md5: 779345c95648be40d22aaa89de7d4254 + depends: + - python >=3.6 + - traitlets + license: BSD-3-Clause + license_family: BSD + size: 14599 + timestamp: 1713250613726 +- kind: conda + name: max + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + sha256: 1ea0dc89ca870e0a3c07b8b114552cf7f2027da77d123461536e47d9c1634b29 + md5: 2550d99437980c05b27fd7dd5af4a8fb + depends: + - max-core ==24.6.0.dev2024110605 release + - max-python >=24.6.0.dev2024110605,<25.0a0 + - mojo-jupyter ==24.6.0.dev2024110605 release + - mblack ==24.6.0.dev2024110605 release + license: LicenseRef-Modular-Proprietary + size: 9925 + timestamp: 1730870435927 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: linux-64 + url: https://conda.modular.com/max-nightly/linux-64/max-core-24.6.0.dev2024110605-release.conda + sha256: 9c73e9704f605597eb934d073ed47b51bbbc478e7fc61bb5a81d6274e20424c9 + md5: 9b106fdf79de7e28aea5f87f37f8b14c + depends: + - mblack ==24.6.0.dev2024110605 release + arch: x86_64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 249918952 + timestamp: 1730870435925 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: linux-aarch64 + url: https://conda.modular.com/max-nightly/linux-aarch64/max-core-24.6.0.dev2024110605-release.conda + sha256: e51712451719a1abe82e210c9c4746e0efb98cc39c1b98d6f0c650dae57876ff + md5: 484178e675e74c28aa901b6b63e891a0 + depends: + - mblack ==24.6.0.dev2024110605 release + arch: aarch64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 253754305 + timestamp: 1730870417979 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: osx-arm64 + url: https://conda.modular.com/max-nightly/osx-arm64/max-core-24.6.0.dev2024110605-release.conda + sha256: b28b8d31cf97ef7b0845846593bcaf347c06c310d9964e2c1528fc93cc38dc9d + md5: f821af8af4dbbde26a1da3263989f235 + depends: + - mblack ==24.6.0.dev2024110605 release + arch: arm64 + platform: osx + license: LicenseRef-Modular-Proprietary + size: 214052557 + timestamp: 1730870539271 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.12release + subdir: linux-64 + url: https://conda.modular.com/max-nightly/linux-64/max-python-24.6.0.dev2024110605-3.12release.conda + sha256: ebf536894d004691e87ff622ea3925dafc9efd8c50a6b0c8aa2013bbaaf586ff + md5: 0ad551861bf58aba11998a62c3939fc0 + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.12.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 125091238 + timestamp: 1730870435936 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.12release + subdir: linux-aarch64 + url: https://conda.modular.com/max-nightly/linux-aarch64/max-python-24.6.0.dev2024110605-3.12release.conda + sha256: b5411b0e9fe3924fc0ad13f7d33f37ce0237831037c33406dc4f6721163aeda3 + md5: 57ece5d07d421be25a9ccb6b1713e95c + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.12.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.12.* *_cp312 + arch: aarch64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 128641044 + timestamp: 1730870417991 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.12release + subdir: osx-arm64 + url: https://conda.modular.com/max-nightly/osx-arm64/max-python-24.6.0.dev2024110605-3.12release.conda + sha256: a44e24fe42594abd8ecb40441dc8ee96f3f80a80658f469b5760316fc8489dd8 + md5: 2ed935cecf559d391496da0878382918 + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.12.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx + license: LicenseRef-Modular-Proprietary + size: 114808446 + timestamp: 1730870539274 +- kind: conda + name: mblack + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + sha256: 5a57b56bce08df93a312a2573640fa78243f858646cc15e94c12243160640948 + md5: d879bf770a6e192452cb270422994729 + depends: + - python >=3.9,<3.13 + - click >=8.0.0 + - mypy_extensions >=0.4.3 + - packaging >=22.0 + - pathspec >=0.9.0 + - platformdirs >=2 + - python + license: MIT + size: 130423 + timestamp: 1730870435932 +- kind: conda + name: mdurl + version: 0.1.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + sha256: 64073dfb6bb429d52fff30891877b48c7ec0f89625b1bf844905b66a81cce6e1 + md5: 776a8dd9e824f77abac30e6ef43a8f7a + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 14680 + timestamp: 1704317789138 +- kind: conda + name: mistune + version: 3.0.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda + sha256: f95cb70007e3cc2ba44e17c29a056b499e6dadf08746706d0c817c8e2f47e05c + md5: 5cbee699846772cc939bef23a0d524ed + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 66022 + timestamp: 1698947249750 +- kind: conda + name: mojo-jupyter + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + sha256: 1d198c3c1fdacf27951dabafdb6d1eebfd16137fa443a5768631f260a3e72da1 + md5: bf4cab55725d54ec0faedc00e0b07e66 + depends: + - max-core ==24.6.0.dev2024110605 release + - python >=3.9,<3.13 + - jupyter_client >=8.6.2,<8.7 + - python + license: LicenseRef-Modular-Proprietary + size: 22952 + timestamp: 1730870435934 +- kind: conda + name: multidict + version: 6.1.0 + build: py312h178313f_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.1.0-py312h178313f_1.conda + sha256: bf9cb8487f447098bd4a8248b4f176f34dd55be729a67b8ac2fdb984b80c5d46 + md5: e397d9b841c37fc3180b73275ce7e990 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 61519 + timestamp: 1729065799315 +- kind: conda + name: multidict + version: 6.1.0 + build: py312hcc812fe_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/multidict-6.1.0-py312hcc812fe_1.conda + sha256: 39264fd518c5dcda3affed162b874a58c775a5f5eb81e0aaf2387e92408a3490 + md5: 7629c9ce86495fa01cdfc3ea5418d03f + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 62830 + timestamp: 1729065694252 +- kind: conda + name: multidict + version: 6.1.0 + build: py312hdb8e49c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.1.0-py312hdb8e49c_1.conda + sha256: 482fd09fb798090dc8cce2285fa69f43b1459099122eac2fb112d9b922b9f916 + md5: 0048335516fed938e4dd2c457b4c5b9b + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 55968 + timestamp: 1729065664275 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py312h02f2b3b_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/multiprocess-0.70.15-py312h02f2b3b_1.conda + sha256: 8041371e3ec3fbc2ca13c71b0180672896e6382e62892d9f6b11a4c5dd675951 + md5: 910ef2223c71902175418d9163152788 + depends: + - dill >=0.3.6 + - python >=3.12.0rc3,<3.13.0a0 + - python >=3.12.0rc3,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 335147 + timestamp: 1695459275360 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py312h98912ed_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/multiprocess-0.70.15-py312h98912ed_1.conda + sha256: bb612a921fafda6375a2204ffebd8811db8dd3b8f25ac9886cc9bcbff7e3664e + md5: 5a64b9f44790d9a187a85366dd0ffa8d + depends: + - dill >=0.3.6 + - libgcc-ng >=12 + - python >=3.12.0rc3,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 335666 + timestamp: 1695459025249 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py312hdd3e373_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/multiprocess-0.70.15-py312hdd3e373_1.conda + sha256: c53362cdf346f314e111faddc53061e3fd2ece0ba68ca303f5dd109976df158f + md5: 173a1692d2b3ddc265dc6afd21a869b3 + depends: + - dill >=0.3.6 + - libgcc-ng >=12 + - python >=3.12.0rc3,<3.13.0a0 + - python >=3.12.0rc3,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 336110 + timestamp: 1695459137796 +- kind: conda + name: mypy_extensions + version: 1.0.0 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + sha256: f240217476e148e825420c6bc3a0c0efb08c0718b7042fae960400c02af858a3 + md5: 4eccaeba205f0aed9ac3a9ea58568ca3 + depends: + - python >=3.5 + license: MIT + license_family: MIT + size: 10492 + timestamp: 1675543414256 +- kind: conda + name: nbclient + version: 0.10.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda + sha256: 589d72d36d61a23b39d6fff2c488f93e29e20de4fc6f5d315b5f2c16e81028bf + md5: 15b51397e0fe8ea7d7da60d83eb76ebc + depends: + - jupyter_client >=6.1.12 + - jupyter_core >=4.12,!=5.0.* + - nbformat >=5.1 + - python >=3.8 + - traitlets >=5.4 + license: BSD-3-Clause + license_family: BSD + size: 27851 + timestamp: 1710317767117 +- kind: conda + name: nbconvert-core + version: 7.16.4 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_1.conda + sha256: 074d858c5808e0a832acc0da37cd70de1565e8d6e17a62d5a11b3902b5e78319 + md5: e2d2abb421c13456a9a9f80272fdf543 + depends: + - beautifulsoup4 + - bleach + - defusedxml + - entrypoints >=0.2.2 + - jinja2 >=3.0 + - jupyter_core >=4.7 + - jupyterlab_pygments + - markupsafe >=2.0 + - mistune >=2.0.3,<4 + - nbclient >=0.5.0 + - nbformat >=5.1 + - packaging + - pandocfilters >=1.4.1 + - pygments >=2.4.1 + - python >=3.8 + - tinycss2 + - traitlets >=5.0 + constrains: + - nbconvert =7.16.4=*_1 + - pandoc >=2.9.2,<4.0.0 + license: BSD-3-Clause + license_family: BSD + size: 189599 + timestamp: 1718135529468 +- kind: conda + name: nbformat + version: 5.10.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_0.conda + sha256: 36fe73da4d37bc7ac2d1540526ecd294fbd09acda04e096181ab8f1ccd2b464c + md5: 0b57b5368ab7fc7cdc9e3511fa867214 + depends: + - jsonschema >=2.6 + - jupyter_core >=4.12,!=5.0.* + - python >=3.8 + - python-fastjsonschema >=2.15 + - traitlets >=5.1 + license: BSD-3-Clause + license_family: BSD + size: 101232 + timestamp: 1712239122969 +- kind: conda + name: ncurses + version: '6.5' + build: h7bae524_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + sha256: 27d0b9ff78ad46e1f3a6c96c479ab44beda5f96def88e2fe626e0a49429d8afc + md5: cb2b0ea909b97b3d70cd3921d1445e1a + depends: + - __osx >=11.0 + license: X11 AND BSD-3-Clause + size: 802321 + timestamp: 1724658775723 +- kind: conda + name: ncurses + version: '6.5' + build: hcccb83c_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-hcccb83c_1.conda + sha256: acad4cf1f57b12ee1e42995e6fac646fa06aa026529f05eb8c07eb0a84a47a84 + md5: 91d49c85cacd92caa40cf375ef72a25d + depends: + - libgcc-ng >=12 + license: X11 AND BSD-3-Clause + size: 924472 + timestamp: 1724658573518 +- kind: conda + name: ncurses + version: '6.5' + build: he02047a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + sha256: 6a1d5d8634c1a07913f1c525db6455918cbc589d745fac46d9d6e30340c8731a + md5: 70caf8bb6cf39a0b6b7efc885f51c0fe + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: X11 AND BSD-3-Clause + size: 889086 + timestamp: 1724658547447 +- kind: conda + name: nest-asyncio + version: 1.6.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda + sha256: 30db21d1f7e59b3408b831a7e0417b83b53ee6223afae56482c5f26da3ceb49a + md5: 6598c056f64dc8800d40add25e4e2c34 + depends: + - python >=3.5 + license: BSD-2-Clause + license_family: BSD + size: 11638 + timestamp: 1705850780510 +- kind: conda + name: notebook-shim + version: 0.2.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda + sha256: 9b5fdef9ebe89222baa9da2796ebe7bc02ec6c5a1f61327b651d6b92cf9a0230 + md5: 3d85618e2c97ab896b5b5e298d32b5b3 + depends: + - jupyter_server >=1.8,<3 + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 16880 + timestamp: 1707957948029 +- kind: conda + name: numpy + version: 1.26.4 + build: py312h470d778_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.26.4-py312h470d778_0.conda + sha256: 23767677a7790bee5457d5e75ebd508b9a31c5354216f4310dd1acfca3f7a6f9 + md5: 9cebf5a06cb87d4569cd68df887af476 + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 6614296 + timestamp: 1707225994762 +- kind: conda + name: numpy + version: 1.26.4 + build: py312h8442bc7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda + sha256: c8841d6d6f61fd70ca80682efbab6bdb8606dc77c68d8acabfbd7c222054f518 + md5: d83fc83d589e2625a3451c9a7e21047c + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=16 + - liblapack >=3.9.0,<4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 6073136 + timestamp: 1707226249608 +- kind: conda + name: numpy + version: 1.26.4 + build: py312heda63a1_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + sha256: fe3459c75cf84dcef6ef14efcc4adb0ade66038ddd27cadb894f34f4797687d8 + md5: d8285bea2a350f63fab23bf460221f3f + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 7484186 + timestamp: 1707225809722 +- kind: conda + name: openssl + version: 3.3.2 + build: h8359307_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda + sha256: 940fa01c4dc6152158fe8943e05e55a1544cab639df0994e3b35937839e4f4d1 + md5: 1773ebccdc13ec603356e8ff1db9e958 + depends: + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + size: 2882450 + timestamp: 1725410638874 +- kind: conda + name: openssl + version: 3.3.2 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.3.2-h86ecc28_0.conda + sha256: 4669d26dbf81e4d72093d8260f55d19d57204d82b1d9440be83d11d313b5990c + md5: 9e1e477b3f8ee3789297883faffa708b + depends: + - ca-certificates + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 3428083 + timestamp: 1725412266679 +- kind: conda + name: openssl + version: 3.3.2 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda + sha256: cee91036686419f6dd6086902acf7142b4916e1c4ba042e9ca23e151da012b6d + md5: 4d638782050ab6faa27275bed57e9b4e + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 2891789 + timestamp: 1725410790053 +- kind: conda + name: opentelemetry-api + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + sha256: ed8350db9d8f177f2e0eefb4df24c1134f1b39f7ef3e20ac42725a3b860309cd + md5: 947b016e29819585f8f3f82dbb7ede91 + depends: + - deprecated >=1.2.6 + - importlib-metadata >=6.0.0,<7.1.0 + - python >=3.8 + - setuptools >=16.0 + license: Apache-2.0 + license_family: APACHE + size: 43708 + timestamp: 1724916819673 +- kind: conda + name: opentelemetry-exporter-otlp-proto-common + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + sha256: 6ec5cc984ad9c0faef329a1a1507d4431f08812b9053be42a2a736ae081dc3c5 + md5: 00e6c03b1437fa6bf3a775bc8f89f677 + depends: + - backoff >=1.10.0,<3.0.0 + - opentelemetry-proto 1.27.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 18221 + timestamp: 1724929505617 +- kind: conda + name: opentelemetry-exporter-otlp-proto-http + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + sha256: b5b86f0f819b5dd05bf0e67ddaa763086194a751aa534bed44fdbf089b317142 + md5: 3caeb0419f4d0f9ac0538c799df15612 + depends: + - deprecated >=1.2.6 + - googleapis-common-protos ~=1.52 + - opentelemetry-api 1.27.0 + - opentelemetry-exporter-otlp-proto-common 1.27.0 + - opentelemetry-proto 1.27.0 + - opentelemetry-sdk 1.27.0 + - python >=3.8 + - requests ~=2.7 + license: Apache-2.0 + license_family: APACHE + size: 16982 + timestamp: 1724969540619 +- kind: conda + name: opentelemetry-proto + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + sha256: ca0480de7f33511dc983aeaf7de23f49c3a258b185588543f85abcf08b10d000 + md5: 3de386ea142a50514f6bba04c3fb48c0 + depends: + - protobuf >=3.19,<5.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 37620 + timestamp: 1724925809921 +- kind: conda + name: opentelemetry-sdk + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + sha256: fb0e4f664166d168edf455f744d827c2342b4b1e99d035cd2e47721863d845e5 + md5: 1a16e734cd0ebb70d3b79265403beb13 + depends: + - opentelemetry-api 1.27.0 + - opentelemetry-semantic-conventions 0.48b0 + - python >=3.8 + - typing-extensions >=3.7.4 + license: Apache-2.0 + license_family: APACHE + size: 73814 + timestamp: 1724923174196 +- kind: conda + name: opentelemetry-semantic-conventions + version: 0.48b0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + sha256: e2f9a4dbb4eef97e5ab04a73b3898c0f186d57705eae66c6991452385f987e9c + md5: eefd5ed55046af15c08051afb6b0eb6b + depends: + - opentelemetry-api 1.27.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 76393 + timestamp: 1724919708207 +- kind: conda + name: orc + version: 2.0.2 + build: h383807c_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/orc-2.0.2-h383807c_0.conda + sha256: 04cc6054199bdbc2649f1ee1afde87d6274ce9dc6f2c2f22da42810b9c8f323a + md5: e910dc97dc0ce4ab1e1a87f49aff89fd + depends: + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 1046461 + timestamp: 1723760657143 +- kind: conda + name: orc + version: 2.0.2 + build: h669347b_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/orc-2.0.2-h669347b_0.conda + sha256: 8a126e0be7f87c499f0a9b5229efa4321e60fc4ae46abdec9b13240631cb1746 + md5: 1e6c10f7d749a490612404efeb179eb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 1066349 + timestamp: 1723760593232 +- kind: conda + name: orc + version: 2.0.2 + build: h75dedd0_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.0.2-h75dedd0_0.conda + sha256: a23f3a88a6b16363bd13f964b4abd12be1576abac460126f3269cbed12d04840 + md5: 9c89e09cede143716b479c5eacc924fb + depends: + - __osx >=11.0 + - libcxx >=16 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 436164 + timestamp: 1723760750932 +- kind: conda + name: overrides + version: 7.7.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda + sha256: 5e238e5e646414d517a13f6786c7227206ace58271e3ef63f6adca4d6a4c2839 + md5: 24fba5a9d161ad8103d4e84c0e1a3ed4 + depends: + - python >=3.6 + - typing_utils + license: Apache-2.0 + license_family: APACHE + size: 30232 + timestamp: 1706394723472 +- kind: conda + name: packaging + version: '24.1' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + sha256: 36aca948219e2c9fdd6d80728bcc657519e02f06c2703d8db3446aec67f51d81 + md5: cbe1bb1f21567018ce595d9c2be0f0db + depends: + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 50290 + timestamp: 1718189540074 +- kind: conda + name: pandas + version: 2.2.2 + build: py312h14eacfc_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pandas-2.2.2-py312h14eacfc_1.conda + sha256: d24c1a6e362d3f1034be308406b05a446c06f8ec974178581c7a3a13fc0110aa + md5: ea4fd304d3cd65f0ddf0dd3c46e0703a + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 + license: BSD-3-Clause + license_family: BSD + size: 15203830 + timestamp: 1715898319015 +- kind: conda + name: pandas + version: 2.2.2 + build: py312h1d6d2e6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.2-py312h1d6d2e6_1.conda + sha256: 80fd53b68aa89b929d03874b99621ec8cc6a12629bd8bfbdca87a95f8852af96 + md5: ae00b61f3000d2284d1f2584d4dfafa8 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 + license: BSD-3-Clause + license_family: BSD + size: 15458981 + timestamp: 1715898284697 +- kind: conda + name: pandas + version: 2.2.2 + build: py312h8ae5369_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.2.2-py312h8ae5369_1.conda + sha256: 664bf370d1e254f29fab3b9834ae5f692a59f7e35c64c61d9a9b9989831fd721 + md5: b38af0cd7ae3616c90a2511272385941 + depends: + - __osx >=11.0 + - libcxx >=16 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 + license: BSD-3-Clause + license_family: BSD + size: 14476760 + timestamp: 1715898136109 +- kind: conda + name: pandocfilters + version: 1.5.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 + sha256: 2bb9ba9857f4774b85900c2562f7e711d08dd48e2add9bee4e1612fbee27e16f + md5: 457c2c8c08e54905d6954e79cb5b5db9 + depends: + - python !=3.0,!=3.1,!=3.2,!=3.3 + license: BSD-3-Clause + license_family: BSD + size: 11627 + timestamp: 1631603397334 +- kind: conda + name: parso + version: 0.8.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda + sha256: bfe404eebb930cc41782d34f8fc04c0388ea692eeebe2c5fc28df8ec8d4d61ae + md5: 81534b420deb77da8833f2289b8d47ac + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 75191 + timestamp: 1712320447201 +- kind: conda + name: pathspec + version: 0.12.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + sha256: 4e534e66bfe8b1e035d2169d0e5b185450546b17e36764272863e22e0370be4d + md5: 17064acba08d3686f1135b5ec1b32b12 + depends: + - python >=3.7 + license: MPL-2.0 + license_family: MOZILLA + size: 41173 + timestamp: 1702250135032 +- kind: conda + name: pexpect + version: 4.9.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda + sha256: 90a09d134a4a43911b716d4d6eb9d169238aff2349056f7323d9db613812667e + md5: 629f3203c99b32e0988910c93e77f3b6 + depends: + - ptyprocess >=0.5 + - python >=3.7 + license: ISC + size: 53600 + timestamp: 1706113273252 +- kind: conda + name: pickleshare + version: 0.7.5 + build: py_1003 + build_number: 1003 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 + sha256: a1ed1a094dd0d1b94a09ed85c283a0eb28943f2e6f22161fb45e128d35229738 + md5: 415f0ebb6198cc2801c73438a9fb5761 + depends: + - python >=3 + license: MIT + license_family: MIT + size: 9332 + timestamp: 1602536313357 +- kind: conda + name: pip + version: 24.3.1 + build: pyh8b19718_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + sha256: 499313e72e20225f84c2e9690bbaf5b952c8d7e0bf34b728278538f766b81628 + md5: 5dd546fe99b44fda83963d15f84263b7 + depends: + - python >=3.8,<3.13.0a0 + - setuptools + - wheel + license: MIT + license_family: MIT + size: 1243168 + timestamp: 1730203795600 +- kind: conda + name: pkgutil-resolve-name + version: 1.3.10 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda + sha256: fecf95377134b0e8944762d92ecf7b0149c07d8186fb5db583125a2705c7ea0a + md5: 405678b942f2481cecdb3e010f4925d9 + depends: + - python >=3.6 + license: MIT AND PSF-2.0 + size: 10778 + timestamp: 1694617398467 +- kind: conda + name: platformdirs + version: 4.3.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + sha256: c81bdeadc4adcda216b2c7b373f0335f5c78cc480d1d55d10f21823590d7e46f + md5: fd8f2b18b65bbf62e8f653100690c8d2 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 20625 + timestamp: 1726613611845 +- kind: conda + name: prometheus_client + version: 0.21.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.0-pyhd8ed1ab_0.conda + sha256: 01f0c3dd00081637ed920a922b17bcc8ed49608404ee466ced806856e671f6b9 + md5: 07e9550ddff45150bfc7da146268e165 + depends: + - python >=3.8 + license: Apache-2.0 + license_family: Apache + size: 49024 + timestamp: 1726902073034 +- kind: conda + name: prompt-toolkit + version: 3.0.48 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_0.conda + sha256: 44e4e6108d425a666856a52d1523e5d70890256a8920bb0dcd3d55cc750f3207 + md5: 4c05134c48b6a74f33bbb9938e4a115e + depends: + - python >=3.7 + - wcwidth + constrains: + - prompt_toolkit 3.0.48 + license: BSD-3-Clause + license_family: BSD + size: 270271 + timestamp: 1727341744544 +- kind: conda + name: propcache + version: 0.2.0 + build: py312h024a12e_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.2.0-py312h024a12e_2.conda + sha256: 0f3a04675c6c473398f0aaa95c259e0a085d5ec106b4fa89a7efeb7cc73d5dd2 + md5: 6693e523bc43c38508efe14ab3374f0c + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 47796 + timestamp: 1728545963127 +- kind: conda + name: propcache + version: 0.2.0 + build: py312h66e93f0_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.2.0-py312h66e93f0_2.conda + sha256: be7aa0056680dd6e528b7992169a20dd525b94f62d37c8ba0fbf69bd4e8df57d + md5: 2c6c0c68f310bc33972e7c83264d7786 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 53498 + timestamp: 1728545927816 +- kind: conda + name: propcache + version: 0.2.0 + build: py312hb2c0f52_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/propcache-0.2.0-py312hb2c0f52_2.conda + sha256: 50dad7604b6c20440baf081700b5d6829097121e65f34fd1a15508b20fbecc07 + md5: 8a258196d6f79ad32d3ea4dd4572f721 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 53507 + timestamp: 1728546155066 +- kind: conda + name: protobuf + version: 4.25.3 + build: py312h83439f5_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py312h83439f5_1.conda + sha256: 30d212eca5e25d0b0260dd0fff18f917386bfe046e425d627847aaed642a0aa4 + md5: 7bbcc35ebf7e3d8c59e472f1bf0e65fc + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 390590 + timestamp: 1725018571385 +- kind: conda + name: protobuf + version: 4.25.3 + build: py312h8a04735_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/protobuf-4.25.3-py312h8a04735_1.conda + sha256: 1a79bd9813b6ca59329549c5831f86031668dff8c31339cb1199b5aef38e36ab + md5: 0f527d01f72f363ee35a4bc874f235ba + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 392015 + timestamp: 1725018625494 +- kind: conda + name: protobuf + version: 4.25.3 + build: py312he4aa971_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-4.25.3-py312he4aa971_1.conda + sha256: 1eb7f6c300be7a727ceaa01b009b9af14aac5112f685e8ef38238dbc8f4ad4dc + md5: 5feb2cb13c6b7c2b2365ee5307e4b2db + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcxx >=17 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 373218 + timestamp: 1725018824150 +- kind: conda + name: psutil + version: 6.1.0 + build: py312h0bf5046_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.0-py312h0bf5046_0.conda + sha256: 143a40f9c72d803744ebd6a60801c5cd17af152b293f8d59e90111ce62b53569 + md5: 61566f5c6e1d29d1d12882eb93e28532 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 493431 + timestamp: 1729847279283 +- kind: conda + name: psutil + version: 6.1.0 + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.1.0-py312h66e93f0_0.conda + sha256: 0f309b435174e037d5cfe5ed26c1c5ad8152c68cfe61af17709ec31ec3d9f096 + md5: 0524eb91d3d78d76d671c6e3cd7cee82 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 488462 + timestamp: 1729847159916 +- kind: conda + name: psutil + version: 6.1.0 + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-6.1.0-py312hb2c0f52_0.conda + sha256: f6ac1a743440e4228ad00fd6ff1a4ed99736d215ca52318db73217d07cd7180b + md5: 98849e1e8ea2bcd57667359c0a36dd3b + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 488976 + timestamp: 1729847306692 +- kind: conda + name: ptyprocess + version: 0.7.0 + build: pyhd3deb0d_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 + sha256: fb31e006a25eb2e18f3440eb8d17be44c8ccfae559499199f73584566d0a444a + md5: 359eeb6536da0e687af562ed265ec263 + depends: + - python + license: ISC + size: 16546 + timestamp: 1609419417991 +- kind: conda + name: pure_eval + version: 0.2.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_0.conda + sha256: dcfcb3cee1ae0a89729601582cc3edea20ba13c9493967a03a693c67567af0c8 + md5: 0f051f09d992e0d08941706ad519ee0e + depends: + - python >=3.5 + license: MIT + license_family: MIT + size: 16551 + timestamp: 1721585805256 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py312h55cb1a1_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-17.0.0-py312h55cb1a1_2.conda + sha256: 83d34c5bd373ab01402e2350ed5b1e836a3ac25a715d399621ce3610d8685339 + md5: da93169f2deb8623e266c71ca9b0bac6 + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 25737 + timestamp: 1730169570576 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py312h9cebb41_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-17.0.0-py312h9cebb41_2.conda + sha256: 9e1baddd1199e244f4f8be10c7250691088948583ab3955c510b90eb71c91a2c + md5: 5f7d505626cb057e1320bbd46dd02ef2 + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 25538 + timestamp: 1730169714708 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py312ha814d7c_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-17.0.0-py312ha814d7c_2.conda + sha256: d6433c343120e723cad92b52ea05c16e05096845489275a697201ce0a50fc568 + md5: 04a90c4ce691f2e289658dd475f69631 + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 25811 + timestamp: 1730169125041 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py312h01725c0_2_cpu + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-17.0.0-py312h01725c0_2_cpu.conda + sha256: e5ed32ee7664a6322263e446d3504a35ff6f5452b17f1161bce7922d03f3cbd4 + md5: add603bfa43d9bf3f06783f780e1a817 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0.* *cpu + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 4607408 + timestamp: 1730169265797 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py312h66f7834_2_cpu + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-core-17.0.0-py312h66f7834_2_cpu.conda + sha256: 239ac3e62ef11c6e0acc16a4b1a8e3029ed11c5aec771a98f08b7f2fc3a79945 + md5: 77b54d42cacd19af257ed402fb936f9c + depends: + - libarrow 17.0.0.* *cpu + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 4460462 + timestamp: 1730169449471 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py312hc40f475_2_cpu + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-17.0.0-py312hc40f475_2_cpu.conda + sha256: 708488e602a159fa38a7fd5fa4466e9f093761dc4a8538661f06be3df42f30a5 + md5: bc617fed2854d65a16760d2bf02a475c + depends: + - __osx >=11.0 + - libarrow 17.0.0.* *cpu + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 3990396 + timestamp: 1730169098217 +- kind: conda + name: pycparser + version: '2.22' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + sha256: 406001ebf017688b1a1554b49127ca3a4ac4626ec0fd51dc75ffa4415b720b64 + md5: 844d9eb3b43095b031874477f7d70088 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 105098 + timestamp: 1711811634025 +- kind: conda + name: pydantic + version: 2.9.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + sha256: 1b7b0dc9f6af4da156bf22b0263be70829364a08145c696d3670facff2f6441a + md5: 1eb533bb8eb2199e3fef3e4aa147319f + depends: + - annotated-types >=0.6.0 + - pydantic-core 2.23.4 + - python >=3.7 + - typing-extensions >=4.6.1 + license: MIT + license_family: MIT + size: 300649 + timestamp: 1726601202431 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py312h12e396e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.23.4-py312h12e396e_0.conda + sha256: 365fde689865087b2a9da636f36678bd59617b324ce7a538b4806e90602b20f1 + md5: 0845ab52d4ea209049129a6a91bc74ba + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 1611784 + timestamp: 1726525286507 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py312h8cbf658_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.23.4-py312h8cbf658_0.conda + sha256: fea8db180722c812c9812605ddc3d410a242f9b1ee798bc3b4a9f1e06897f3eb + md5: 18d60aa79641cec25c57823f1c8ba28d + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 1479271 + timestamp: 1726525386163 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py312he431725_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.23.4-py312he431725_0.conda + sha256: d6edd3d0f9e701c8299519d412ad3dc900c7d893a134f2582203cf43585decca + md5: 3148052477686acc581b20a34b478eeb + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 1431747 + timestamp: 1726525575527 +- kind: conda + name: pydantic-settings + version: 2.6.1 + build: pyh3cfb1c2_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + sha256: b3f331d69f7f3b3272e8e203211bfe39ba728a61fadc9b5c2f091b50084f0187 + md5: 412f950a65ceea20b06263f65d689f6b + depends: + - pydantic >=2.7.0 + - python >=3.8 + - python-dotenv >=0.21.0 + license: MIT + license_family: MIT + size: 30618 + timestamp: 1730473755879 +- kind: conda + name: pygments + version: 2.18.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + sha256: 78267adf4e76d0d64ea2ffab008c501156c108bb08fecb703816fb63e279780b + md5: b7f5c092b8f9800150d998a71b76d5a1 + depends: + - python >=3.8 + license: BSD-2-Clause + license_family: BSD + size: 879295 + timestamp: 1714846885370 +- kind: conda + name: pyobjc-core + version: 10.3.1 + build: py312hd24fc31_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-core-10.3.1-py312hd24fc31_1.conda + sha256: e3311a9b7e843e3fb2b814bf0a0a901db8d2c21d72bacf246a95867c2628ca25 + md5: 1533727287f098e669d75f9c54dc1601 + depends: + - __osx >=11.0 + - libffi >=3.4,<4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - setuptools + license: MIT + license_family: MIT + size: 490928 + timestamp: 1725739760349 +- kind: conda + name: pyobjc-framework-cocoa + version: 10.3.1 + build: py312hd24fc31_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyobjc-framework-cocoa-10.3.1-py312hd24fc31_1.conda + sha256: 799aa68d1d9abe00f3574d7763e91f86007a938ab8f5dff63ae3e1f22d0d634d + md5: b1c63f8abafc9530a9259e0d6a70e984 + depends: + - __osx >=11.0 + - libffi >=3.4,<4.0a0 + - pyobjc-core 10.3.1.* + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 381079 + timestamp: 1725875188776 +- kind: conda + name: pysocks + version: 1.7.1 + build: pyha2e5f31_6 + build_number: 6 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b + md5: 2a7de29fb590ca14b5243c4c812c8025 + depends: + - __unix + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 18981 + timestamp: 1661604969727 +- kind: conda + name: python + version: 3.12.7 + build: h5d932e8_0_cpython + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.7-h5d932e8_0_cpython.conda + sha256: 25570873d92d4d9490c6db780cc85e6c28bd3ff61dc1ece79f602cf82bc73bc1 + md5: e6cab21bb5787270388939cf41cc5f43 + depends: + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-aarch64 >=2.36.1 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + size: 13762126 + timestamp: 1728057461028 +- kind: conda + name: python + version: 3.12.7 + build: h739c21a_0_cpython + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda + sha256: 45d7ca2074aa92594bd2f91a9003b338cc1df8a46b9492b7fc8167110783c3ef + md5: e0d82e57ebb456077565e6d82cd4a323 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + size: 12975439 + timestamp: 1728057819519 +- kind: conda + name: python + version: 3.12.7 + build: hc5c86c4_0_cpython + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.7-hc5c86c4_0_cpython.conda + sha256: 674be31ff152d9f0e0fe16959a45e3803a730fc4f54d87df6a9ac4e6a698c41d + md5: 0515111a9cdf69f83278f7c197db9807 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + size: 31574780 + timestamp: 1728059777603 +- kind: conda + name: python-dateutil + version: 2.9.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + sha256: f3ceef02ac164a8d3a080d0d32f8e2ebe10dd29e3a685d240e38b3599e146320 + md5: 2cf4264fffb9e6eff6031c5b6884d61c + depends: + - python >=3.7 + - six >=1.5 + license: Apache-2.0 + license_family: APACHE + size: 222742 + timestamp: 1709299922152 +- kind: conda + name: python-dotenv + version: 1.0.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + sha256: 2d4c80364f03315d606a50eddd493dbacc078e21412c2462c0f781eec49b572c + md5: c2997ea9360ac4e015658804a7a84f94 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 24278 + timestamp: 1706018281544 +- kind: conda + name: python-fastjsonschema + version: 2.20.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.20.0-pyhd8ed1ab_0.conda + sha256: 7d8c931b89c9980434986b4deb22c2917b58d9936c3974139b9c10ae86fdfe60 + md5: b98d2018c01ce9980c03ee2850690fab + depends: + - python >=3.3 + license: BSD-3-Clause + license_family: BSD + size: 226165 + timestamp: 1718477110630 +- kind: conda + name: python-json-logger + version: 2.0.7 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + sha256: 4790787fe1f4e8da616edca4acf6a4f8ed4e7c6967aa31b920208fc8f95efcca + md5: a61bf9ec79426938ff785eb69dbb1960 + depends: + - python >=3.6 + license: BSD-2-Clause + license_family: BSD + size: 13383 + timestamp: 1677079727691 +- kind: conda + name: python-multipart + version: 0.0.17 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + sha256: f351636a91163de28cf602c755abd1b5ad858e4a790c3a30d5a5aa1066c0550c + md5: a08ea55eb3ad403b12639cd3a4a8d28f + depends: + - python >=3.8 + license: Apache-2.0 + license_family: Apache + size: 27810 + timestamp: 1730382122271 +- kind: conda + name: python-tzdata + version: '2024.2' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + sha256: fe3f62ce2bc714bdaa222ab3f0344a2815ad9e853c6df38d15c9f25de8a3a6d4 + md5: 986287f89929b2d629bd6ef6497dc307 + depends: + - python >=3.6 + license: Apache-2.0 + license_family: APACHE + size: 142527 + timestamp: 1727140688093 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-xxhash-3.5.0-py312h024a12e_1.conda + sha256: 28204ef48f028a4d872e22040da0dad7ebd703549b010a1bb511b6dd94cf466d + md5: 266fe1ae54a7bb17990206664d0f0ae4 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 21765 + timestamp: 1725272382968 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py312h52516f5_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python-xxhash-3.5.0-py312h52516f5_1.conda + sha256: 0fa5ba80073a43391ee90303814adbc9fd826175de1fdac273ba0e5b711aa255 + md5: 591c4ae6d8338dfd07b951e00433a405 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 23589 + timestamp: 1725273317965 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.5.0-py312h66e93f0_1.conda + sha256: 20851b1e59fee127d49e01fc73195a88ab0779f103b7d6ffc90d11142a83678f + md5: 39aed2afe4d0cf76ab3d6b09eecdbea7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 23162 + timestamp: 1725272139519 +- kind: conda + name: python_abi + version: '3.12' + build: 5_cp312 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda + sha256: d10e93d759931ffb6372b45d65ff34d95c6000c61a07e298d162a3bc2accebb0 + md5: 0424ae29b104430108f5218a66db7260 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6238 + timestamp: 1723823388266 +- kind: conda + name: python_abi + version: '3.12' + build: 5_cp312 + build_number: 5 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python_abi-3.12-5_cp312.conda + sha256: 5ccdad9981753cc4a2d126e356673a21c0cd5b34e209cb8d476a3947d4ad9b39 + md5: 62b20f305498284a07dc6c45fd0e5c87 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6329 + timestamp: 1723823366253 +- kind: conda + name: python_abi + version: '3.12' + build: 5_cp312 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + sha256: 49d624e4b809c799d2bf257b22c23cf3fc4460f5570d9a58e7ad86350aeaa1f4 + md5: b76f9b1c862128e56ac7aa8cd2333de9 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6278 + timestamp: 1723823099686 +- kind: conda + name: pytz + version: '2024.2' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.2-pyhd8ed1ab_0.conda + sha256: 81c16d9183bb4a6780366ce874e567ee5fc903722f85b2f8d1d9479ef1dafcc9 + md5: 260009d03c9d5c0f111904d851f053dc + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 186995 + timestamp: 1726055625738 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h024a12e_1.conda + sha256: b06f1c15fb39695bbf707ae8fb554b9a77519af577b5556784534c7db10b52e3 + md5: 1ee23620cf46cb15900f70a1300bae55 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 187143 + timestamp: 1725456547263 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h66e93f0_1.conda + sha256: a60705971e958724168f2ebbb8ed4853067f1d3f7059843df3903e3092bbcffa + md5: 549e5930e768548a89c23f595dac5a95 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 206553 + timestamp: 1725456256213 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.2-py312hb2c0f52_1.conda + sha256: 8c515ebe1e7e85d972d72b75760af9dfac06fd11a9dba7e05c42d69aedbb303c + md5: dc5de424f7dbb9772da720dbb81317b2 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 199141 + timestamp: 1725456356043 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py312h2427ae1_3 + build_number: 3 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-26.2.0-py312h2427ae1_3.conda + sha256: cfc4ea87d68b5f0ed64a61f500d5ea0a2310d1f281a4f95afa06c703ea1bdf7d + md5: 1f0779280c3dc1e72cfd86bd1e59791d + depends: + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 371730 + timestamp: 1728644030875 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py312hbf22597_3 + build_number: 3 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.2.0-py312hbf22597_3.conda + sha256: bc303f9b11e04a515f79cd5ad3bfa0e84b9dfec76552626d6263b38789fe6678 + md5: 746ce19f0829ec3e19c93007b1a224d3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 378126 + timestamp: 1728642454632 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py312hf8a1cbd_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-26.2.0-py312hf8a1cbd_3.conda + sha256: 2e0ca1bb9ab3af5d1f9b38548d65be7097ba0246e7e63c908c9b1323df3f45b5 + md5: 7bdaa4c2a84b744ef26c8b2ba65c3d0e + depends: + - __osx >=11.0 + - libcxx >=17 + - libsodium >=1.0.20,<1.0.21.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 361674 + timestamp: 1728642457661 +- kind: conda + name: re2 + version: 2023.09.01 + build: h4cba328_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2023.09.01-h4cba328_2.conda + sha256: 0e0d44414381c39a7e6f3da442cb41c637df0dcb383a07425f19c19ccffa0118 + md5: 0342882197116478a42fa4ea35af79c1 + depends: + - libre2-11 2023.09.01 h7b2c953_2 + license: BSD-3-Clause + license_family: BSD + size: 26770 + timestamp: 1708947220914 +- kind: conda + name: re2 + version: 2023.09.01 + build: h7f4b329_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda + sha256: f0f520f57e6b58313e8c41abc7dfa48742a05f1681f05654558127b667c769a8 + md5: 8f70e36268dea8eb666ef14c29bd3cda + depends: + - libre2-11 2023.09.01 h5a48ba9_2 + license: BSD-3-Clause + license_family: BSD + size: 26617 + timestamp: 1708946796423 +- kind: conda + name: re2 + version: 2023.09.01 + build: h9caee61_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/re2-2023.09.01-h9caee61_2.conda + sha256: 31db9c598bfa7586ac2e3ba06681d676caa5d252b5b68f4b6173edc71f70681e + md5: a9667ab785e1686d53313364c695f58e + depends: + - libre2-11 2023.09.01 h9d008c2_2 + license: BSD-3-Clause + license_family: BSD + size: 26726 + timestamp: 1708946863063 +- kind: conda + name: readline + version: '8.2' + build: h8228510_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda + sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7 + md5: 47d31b792659ce70f470b5c82fdfb7a4 + depends: + - libgcc-ng >=12 + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 281456 + timestamp: 1679532220005 +- kind: conda + name: readline + version: '8.2' + build: h8fc344f_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8fc344f_1.conda + sha256: 4c99f7417419734e3797d45bc355e61c26520e111893b0d7087a01a7fbfbe3dd + md5: 105eb1e16bf83bfb2eb380a48032b655 + depends: + - libgcc-ng >=12 + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 294092 + timestamp: 1679532238805 +- kind: conda + name: readline + version: '8.2' + build: h92ec313_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + sha256: a1dfa679ac3f6007362386576a704ad2d0d7a02e98f5d0b115f207a2da63e884 + md5: 8cbb776a2f641b943d413b3e19df71f4 + depends: + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 250351 + timestamp: 1679532511311 +- kind: conda + name: referencing + version: 0.35.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda + sha256: be8d6d9e86b1a3fef5424127ff81782f8ca63d3058980859609f6f1ecdd34cb3 + md5: 0fc8b52192a8898627c3efae1003e9f6 + depends: + - attrs >=22.2.0 + - python >=3.8 + - rpds-py >=0.7.0 + license: MIT + license_family: MIT + size: 42210 + timestamp: 1714619625532 +- kind: conda + name: regex + version: 2024.9.11 + build: py312h024a12e_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/regex-2024.9.11-py312h024a12e_0.conda + sha256: c4dbb0a7195e3b5ec6059a6d280b44be3905ee8bf0d1622443efd8865dd90cf4 + md5: 796612a39474f5f08f7fc910d161a395 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Python-2.0 + license_family: PSF + size: 366013 + timestamp: 1726095775313 +- kind: conda + name: regex + version: 2024.9.11 + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/regex-2024.9.11-py312h66e93f0_0.conda + sha256: d841a27a17a8dc1a39b4b00145fd9a27a2832d838c18fbb8ba48f5bc63a02d6d + md5: f998667df44480bb9a365998290d8c93 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Python-2.0 + license_family: PSF + size: 405100 + timestamp: 1726095738310 +- kind: conda + name: regex + version: 2024.9.11 + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2024.9.11-py312hb2c0f52_0.conda + sha256: 40987610104a3dccda167690dbbff8b77c217c94e2317b2aa4b2b34ee2cb7233 + md5: 6fbfec5e5aa2a0f507962bd6ec72e1d4 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Python-2.0 + license_family: PSF + size: 399142 + timestamp: 1726095874328 +- kind: conda + name: requests + version: 2.32.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + sha256: 5845ffe82a6fa4d437a2eae1e32a1ad308d7ad349f61e337c0a890fe04c513cc + md5: 5ede4753180c7a550a443c430dc8ab52 + depends: + - certifi >=2017.4.17 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - python >=3.8 + - urllib3 >=1.21.1,<3 + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + size: 58810 + timestamp: 1717057174842 +- kind: conda + name: rfc3339-validator + version: 0.1.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 + sha256: 7c7052b51de0b5c558f890bb11f8b5edbb9934a653d76be086b1182b9f54185d + md5: fed45fc5ea0813240707998abe49f520 + depends: + - python >=3.5 + - six + license: MIT + license_family: MIT + size: 8064 + timestamp: 1638811838081 +- kind: conda + name: rfc3986-validator + version: 0.1.1 + build: pyh9f0ad1d_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + sha256: 2a5b495a1de0f60f24d8a74578ebc23b24aa53279b1ad583755f223097c41c37 + md5: 912a71cc01012ee38e6b90ddd561e36f + depends: + - python + license: MIT + license_family: MIT + size: 7818 + timestamp: 1598024297745 +- kind: conda + name: rich + version: 13.9.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + sha256: c009488fc07fd5557434c9c1ad32ab1dd50241d6a766e4b2b4125cd6498585a8 + md5: bcf8cc8924b5d20ead3d122130b8320b + depends: + - markdown-it-py >=2.2.0 + - pygments >=2.13.0,<3.0.0 + - python >=3.8 + - typing_extensions >=4.0.0,<5.0.0 + license: MIT + license_family: MIT + size: 185481 + timestamp: 1730592349978 +- kind: conda + name: rpds-py + version: 0.20.1 + build: py312h12e396e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.20.1-py312h12e396e_0.conda + sha256: 83357a44706569dd3224e142cf30d60749d2e7dc131b7cc3a2a05341ce27e2ff + md5: e72ffbd19c66b5396034fffe8a52bca6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 337004 + timestamp: 1730472929182 +- kind: conda + name: rpds-py + version: 0.20.1 + build: py312ha4e36d7_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.20.1-py312ha4e36d7_0.conda + sha256: 474c5339b12924b039e26456d31e6bb2809d91c6cf3d926495cb3075c6939547 + md5: e4e29e93f9c8a831beedbe57dcd8b8b2 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 340272 + timestamp: 1730475440628 +- kind: conda + name: rpds-py + version: 0.20.1 + build: py312hcd83bfe_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/rpds-py-0.20.1-py312hcd83bfe_0.conda + sha256: 7fdc34a6fcb362f78dacc2cf4d347762b81027d6bfbabd1c7678404a6b62ca55 + md5: 4cb748cb05fe339f709055c25430621f + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 295554 + timestamp: 1730473370659 +- kind: conda + name: s2n + version: 1.5.5 + build: h3931f03_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.5-h3931f03_0.conda + sha256: a6fa0afa836f8f26dea0abc180ca2549bb517932d9a88a121e707135d4bcb715 + md5: 334dba9982ab9f5d62033c61698a8683 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 353081 + timestamp: 1728534228471 +- kind: conda + name: s2n + version: 1.5.5 + build: hc6ade00_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/s2n-1.5.5-hc6ade00_0.conda + sha256: 47e9783a3c2b44b2f718e7cda74c0170e6a8c145688eee76a4395ac06f6e5393 + md5: 7238fdea17af79b5f6928ff278c70d52 + depends: + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 349557 + timestamp: 1728534230496 +- kind: conda + name: safetensors + version: 0.4.5 + build: py312h12e396e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/safetensors-0.4.5-py312h12e396e_0.conda + sha256: e44515f875c10efb5e041efcb250dfd18f2cb66ec3f268237549ead6284c6922 + md5: 3b87a00bcaab069172d6cef8124b7142 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 402547 + timestamp: 1725632183154 +- kind: conda + name: safetensors + version: 0.4.5 + build: py312h8cbf658_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/safetensors-0.4.5-py312h8cbf658_0.conda + sha256: e83ebeaba4a07bbe4a1d6c7eef0b4f7ae19901ef365bca043808d16e4c8faad8 + md5: 82ef253c37308b082a478fb92924cad6 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 400284 + timestamp: 1725632278147 +- kind: conda + name: safetensors + version: 0.4.5 + build: py312he431725_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/safetensors-0.4.5-py312he431725_0.conda + sha256: 93a085d0d64237db7f4ff395c446f268c575dc2c324d8e3e5c5d7d836896295e + md5: ccb978cf1e3151c25a44c4ae65c1f20e + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + size: 353606 + timestamp: 1725632294079 +- kind: conda + name: send2trash + version: 1.8.3 + build: pyh0d859eb_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda + sha256: c4401b071e86ddfa0ea4f34b85308db2516b6aeca50053535996864cfdee7b3f + md5: 778594b20097b5a948c59e50ae42482a + depends: + - __linux + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 22868 + timestamp: 1712585140895 +- kind: conda + name: send2trash + version: 1.8.3 + build: pyh31c8845_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh31c8845_0.conda + sha256: f911307db932c92510da6c3c15b461aef935720776643a1fbf3683f61001068b + md5: c3cb67fc72fb38020fe7923dbbcf69b0 + depends: + - __osx + - pyobjc-framework-cocoa + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 23165 + timestamp: 1712585504123 +- kind: conda + name: setuptools + version: 75.3.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + sha256: a36d020b9f32fc3f1a6488a1c4a9c13988c6468faf6895bf30ca69521a61230e + md5: 2ce9825396daf72baabaade36cee16da + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 779561 + timestamp: 1730382173961 +- kind: conda + name: shellingham + version: 1.5.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + sha256: 3c49a0a101c41b7cf6ac05a1872d7a1f91f1b6d02eecb4a36b605a19517862bb + md5: d08db09a552699ee9e7eec56b4eb3899 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 14568 + timestamp: 1698144516278 +- kind: conda + name: six + version: 1.16.0 + build: pyh6c4a22f_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6 + md5: e5f25f8dbc060e9a8d912e432202afc2 + depends: + - python + license: MIT + license_family: MIT + size: 14259 + timestamp: 1620240338595 +- kind: conda + name: snappy + version: 1.2.1 + build: h1088aeb_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.1-h1088aeb_0.conda + sha256: 79f5d0a9098acf2ed16e6ecc4c11472b50ccf59feea37a7d585fd43888d7e41f + md5: e4ed5b015f525b56f95c26d85a4ea208 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 42888 + timestamp: 1720003817527 +- kind: conda + name: snappy + version: 1.2.1 + build: ha2e4443_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda + sha256: dc7c8e0e8c3e8702aae81c52d940bfaabe756953ee51b1f1757e891bab62cf7f + md5: 6b7dcc7349efd123d493d2dbe85a045f + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 42465 + timestamp: 1720003704360 +- kind: conda + name: snappy + version: 1.2.1 + build: hd02b534_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-hd02b534_0.conda + sha256: cb7a9440241c6092e0f1c795fdca149c4767023e783eaf9cfebc501f906b4897 + md5: 69d0f9694f3294418ee935da3d5f7272 + depends: + - __osx >=11.0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + size: 35708 + timestamp: 1720003794374 +- kind: conda + name: sniffio + version: 1.3.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + sha256: bc12100b2d8836b93c55068b463190505b8064d0fc7d025e89f20ebf22fe6c2b + md5: 490730480d76cf9c8f8f2849719c6e2b + depends: + - python >=3.7 + license: Apache-2.0 + license_family: Apache + size: 15064 + timestamp: 1708953086199 +- kind: conda + name: soupsieve + version: '2.5' + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda + sha256: 54ae221033db8fbcd4998ccb07f3c3828b4d77e73b0c72b18c1d6a507059059c + md5: 3f144b2c34f8cb5a9abd9ed23a39c561 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 36754 + timestamp: 1693929424267 +- kind: conda + name: sse-starlette + version: 2.1.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + sha256: 6d671a66333410ec7e5e7858a252565a9001366726d1fe3c3a506d7156169085 + md5: 3918255c942c242ed5599e10329e8d0e + depends: + - anyio + - python >=3.8 + - starlette + - uvicorn + license: BSD-3-Clause + license_family: BSD + size: 14712 + timestamp: 1722520112550 +- kind: conda + name: stack_data + version: 0.6.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda + sha256: a58433e75229bec39f3be50c02efbe9b7083e53a1f31d8ee247564f370191eec + md5: e7df0fdd404616638df5ece6e69ba7af + depends: + - asttokens + - executing + - pure_eval + - python >=3.5 + license: MIT + license_family: MIT + size: 26205 + timestamp: 1669632203115 +- kind: conda + name: starlette + version: 0.41.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + sha256: 02206e5369944e0fd29e4f5c8e9b51dd926a74a46b621a73323669ad404f1081 + md5: 287492bb6e159da4357a10a2bd05c13c + depends: + - anyio >=3.4.0,<5 + - python >=3.8 + - typing_extensions >=3.10.0 + license: BSD-3-Clause + license_family: BSD + size: 59059 + timestamp: 1730305803101 +- kind: conda + name: terminado + version: 0.18.1 + build: pyh0d859eb_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh0d859eb_0.conda + sha256: b300557c0382478cf661ddb520263508e4b3b5871b471410450ef2846e8c352c + md5: efba281bbdae5f6b0a1d53c6d4a97c93 + depends: + - __linux + - ptyprocess + - python >=3.8 + - tornado >=6.1.0 + license: BSD-2-Clause + license_family: BSD + size: 22452 + timestamp: 1710262728753 +- kind: conda + name: terminado + version: 0.18.1 + build: pyh31c8845_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh31c8845_0.conda + sha256: 4daae56fc8da17784578fbdd064f17e3b3076b394730a14119e571707568dc8a + md5: 00b54981b923f5aefcd5e8547de056d5 + depends: + - __osx + - ptyprocess + - python >=3.8 + - tornado >=6.1.0 + license: BSD-2-Clause + license_family: BSD + size: 22717 + timestamp: 1710265922593 +- kind: conda + name: tinycss2 + version: 1.4.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.4.0-pyhd8ed1ab_0.conda + sha256: cad582d6f978276522f84bd209a5ddac824742fe2d452af6acf900f8650a73a2 + md5: f1acf5fdefa8300de697982bcb1761c9 + depends: + - python >=3.5 + - webencodings >=0.4 + license: BSD-3-Clause + license_family: BSD + size: 28285 + timestamp: 1729802975370 +- kind: conda + name: tk + version: 8.6.13 + build: h194ca79_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-h194ca79_0.conda + sha256: 7fa27cc512d3a783f38bd16bbbffc008807372499d5b65d089a8e43bde9db267 + md5: f75105e0585851f818e0009dd1dde4dc + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3351802 + timestamp: 1695506242997 +- kind: conda + name: tk + version: 8.6.13 + build: h5083fa2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + sha256: 72457ad031b4c048e5891f3f6cb27a53cb479db68a52d965f796910e71a403a8 + md5: b50a57ba89c32b62428b71a875291c9b + depends: + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3145523 + timestamp: 1699202432999 +- kind: conda + name: tk + version: 8.6.13 + build: noxft_h4845f30_101 + build_number: 101 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e + md5: d453b98d9c83e71da0741bb0ff4d76bc + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3318875 + timestamp: 1699202167581 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py312h8360d73_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tokenizers-0.20.3-py312h8360d73_0.conda + sha256: 2b48bbbcb2b08bc9039e5a5a5eabbf1eb1821795ff6f900b17d8d3d5c5c03d93 + md5: 1beb85f5436b30da8576a1af2a3d2103 + depends: + - __glibc >=2.17,<3.0.a0 + - huggingface_hub >=0.16.4,<1.0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 2238863 + timestamp: 1730868742992 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py312ha0d6ea1_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tokenizers-0.20.3-py312ha0d6ea1_0.conda + sha256: d24effa51dd060bdd0a2a532a200140874099a36da0dbf73a80a2056467bd7fd + md5: 5f8b2f868dce23e87f320d219f15157f + depends: + - huggingface_hub >=0.16.4,<1.0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 2361365 + timestamp: 1730868864797 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py312hf3e4074_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tokenizers-0.20.3-py312hf3e4074_0.conda + sha256: 36bfc57262489d8a730aa309e3694053405df57d42675d3c9f8e7ab45bde6a1f + md5: bf872619ecf7b22776aae2b09408266c + depends: + - __osx >=11.0 + - huggingface_hub >=0.16.4,<1.0 + - libcxx >=18 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + size: 1917015 + timestamp: 1730869025269 +- kind: conda + name: tomli + version: 2.0.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + sha256: 5e742ba856168b606ac3c814d247657b1c33b8042371f1a08000bdc5075bc0cc + md5: e977934e00b355ff55ed154904044727 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 18203 + timestamp: 1727974767524 +- kind: conda + name: tornado + version: 6.4.1 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.1-py312h024a12e_1.conda + sha256: 5eefede1d8a2f55892bc582dbcb574b1806f19bc1e3939ce56b79721b9406db7 + md5: 967bc97bb9e258993289546479af971f + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 841722 + timestamp: 1724956439106 +- kind: conda + name: tornado + version: 6.4.1 + build: py312h52516f5_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.4.1-py312h52516f5_1.conda + sha256: 714e83cc01dd223ab6e3907843a7523fe745ed0841ee8ef2eae2ced0c485d0d8 + md5: 950b20707177dea3cb74f5ae9aac704d + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 841453 + timestamp: 1724957557137 +- kind: conda + name: tornado + version: 6.4.1 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.1-py312h66e93f0_1.conda + sha256: c0c9cc7834e8f43702956afaa5af7b0639c4835c285108a43e6b91687ce53ab8 + md5: af648b62462794649066366af4ecd5b0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 837665 + timestamp: 1724956252424 +- kind: conda + name: tqdm + version: 4.66.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + sha256: 32c39424090a8cafe7994891a816580b3bd253eb4d4f5473bdefcf6a81ebc061 + md5: 92718e1f892e1e4623dcc59b9f9c4e55 + depends: + - colorama + - python >=3.7 + license: MPL-2.0 or MIT + size: 89367 + timestamp: 1730145312554 +- kind: conda + name: traitlets + version: 5.14.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + sha256: 8a64fa0f19022828513667c2c7176cfd125001f3f4b9bc00d33732e627dd2592 + md5: 3df84416a021220d8b5700c613af2dc5 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 110187 + timestamp: 1713535244513 +- kind: conda + name: transformers + version: 4.46.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + sha256: e654adbaa80a65ffa2209465d23e136dee2d8b1ded3da425c1f8c3a9c3be56a6 + md5: 587e2e9014d6efc236029e9acd8332c2 + depends: + - datasets !=2.5.0 + - filelock + - huggingface_hub >=0.23.0,<1.0 + - numpy >=1.17 + - packaging >=20.0 + - python >=3.8 + - pyyaml >=5.1 + - regex !=2019.12.17 + - requests + - safetensors >=0.4.1 + - tokenizers >=0.20,<0.21 + - tqdm >=4.27 + license: Apache-2.0 + license_family: APACHE + size: 3659906 + timestamp: 1730868580651 +- kind: conda + name: typer + version: 0.12.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + sha256: da9ff9e27c5fa8268c2d5898335485a897d9496eef3b5b446cd9387a89d168de + md5: be70216cc1a5fe502c849676baabf498 + depends: + - python >=3.7 + - typer-slim-standard 0.12.5 hd8ed1ab_0 + license: MIT + license_family: MIT + size: 53350 + timestamp: 1724613663049 +- kind: conda + name: typer-slim + version: 0.12.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + sha256: 7be1876627495047f3f07c52c93ddc2ae2017b93affe58110a5474e5ebcb2662 + md5: a46aa56c0ca7cc2bd38baffc2686f0a6 + depends: + - click >=8.0.0 + - python >=3.7 + - typing_extensions >=3.7.4.3 + constrains: + - rich >=10.11.0 + - typer >=0.12.5,<0.12.6.0a0 + - shellingham >=1.3.0 + license: MIT + license_family: MIT + size: 45641 + timestamp: 1724613646022 +- kind: conda + name: typer-slim-standard + version: 0.12.5 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + sha256: bb298b116159ec1085f6b29eaeb982006651a0997eda08de8b70cfb6177297f3 + md5: 2dc1ee4046de0692077e9aa9ba351d36 + depends: + - rich + - shellingham + - typer-slim 0.12.5 pyhd8ed1ab_0 + license: MIT + license_family: MIT + size: 46817 + timestamp: 1724613648907 +- kind: conda + name: types-python-dateutil + version: 2.9.0.20241003 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241003-pyhff2d567_0.conda + sha256: 8489af986daebfbcd13d3748ba55431259206e37f184ab42a57e107fecd85e02 + md5: 3d326f8a2aa2d14d51d8c513426b5def + depends: + - python >=3.6 + license: Apache-2.0 AND MIT + size: 21765 + timestamp: 1727940339297 +- kind: conda + name: typing-extensions + version: 4.12.2 + build: hd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + sha256: d3b9a8ed6da7c9f9553c5fd8a4fca9c3e0ab712fa5f497859f82337d67533b73 + md5: 52d648bd608f5737b123f510bb5514b5 + depends: + - typing_extensions 4.12.2 pyha770c72_0 + license: PSF-2.0 + license_family: PSF + size: 10097 + timestamp: 1717802659025 +- kind: conda + name: typing_extensions + version: 4.12.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + sha256: 0fce54f8ec3e59f5ef3bb7641863be4e1bf1279623e5af3d3fa726e8f7628ddb + md5: ebe6952715e1d5eb567eeebf25250fa7 + depends: + - python >=3.8 + license: PSF-2.0 + license_family: PSF + size: 39888 + timestamp: 1717802653893 +- kind: conda + name: typing_utils + version: 0.1.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2 + sha256: 9e3758b620397f56fb709f796969de436d63b7117897159619b87938e1f78739 + md5: eb67e3cace64c66233e2d35949e20f92 + depends: + - python >=3.6.1 + license: Apache-2.0 + license_family: APACHE + size: 13829 + timestamp: 1622899345711 +- kind: conda + name: tzdata + version: 2024b + build: hc8b5060_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf + md5: 8ac3367aafb1cc0a068483c580af8015 + license: LicenseRef-Public-Domain + size: 122354 + timestamp: 1728047496079 +- kind: conda + name: uri-template + version: 1.3.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda + sha256: b76904b53721dc88a46352324c79d2b077c2f74a9f7208ad2c4249892669ae94 + md5: 0944dc65cb4a9b5b68522c3bb585d41c + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 23999 + timestamp: 1688655976471 +- kind: conda + name: urllib3 + version: 2.2.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + sha256: b6bb34ce41cd93956ad6eeee275ed52390fb3788d6c75e753172ea7ac60b66e5 + md5: 6b55867f385dd762ed99ea687af32a69 + depends: + - brotli-python >=1.0.9 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.8 + - zstandard >=0.18.0 + license: MIT + license_family: MIT + size: 98076 + timestamp: 1726496531769 +- kind: conda + name: uvicorn + version: 0.32.0 + build: pyh31011fe_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + sha256: bc1dd02dfe8ba9654c7ba4f359af1a36f88fdc8299e57e25394c26075e7f5ff2 + md5: 3936b8ca7212040c07565e1379ced362 + depends: + - __unix + - click >=7.0 + - h11 >=0.8 + - python >=3.8 + - typing_extensions >=4.0 + license: BSD-3-Clause + license_family: BSD + size: 49065 + timestamp: 1730219789315 +- kind: conda + name: uvicorn-standard + version: 0.32.0 + build: h31011fe_1 + build_number: 1 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + sha256: 955132d5f09fab2041cb15fe7d85af4526d95b3629b96c90c8191c60001475a5 + md5: ee1094a994894ddd2cdf63174131a589 + depends: + - __unix + - httptools >=0.5.0 + - python-dotenv >=0.13 + - pyyaml >=5.1 + - uvicorn 0.32.0 pyh31011fe_1 + - uvloop >=0.14.0,!=0.15.0,!=0.15.1 + - watchfiles >=0.13 + - websockets >=10.4 + license: BSD-3-Clause + license_family: BSD + size: 7119 + timestamp: 1730219790085 +- kind: conda + name: uvloop + version: 0.21.0 + build: py312h0bf5046_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/uvloop-0.21.0-py312h0bf5046_1.conda + sha256: b1efa77aa4871d7bb09c8dd297fa9bd9070ba7f0f95f2d12ae9cdd31ce8b6b22 + md5: 4f5110253ba80ebf27e55c4ab333880a + depends: + - __osx >=11.0 + - libuv >=1.49.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT OR Apache-2.0 + size: 544097 + timestamp: 1730214653726 +- kind: conda + name: uvloop + version: 0.21.0 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.21.0-py312h66e93f0_1.conda + sha256: 9337a80165fcf70b06b9d6ba920dad702260ca966419ae77560a15540e41ab72 + md5: 998e481e17c1b6a74572e73b06f2df08 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuv >=1.49.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT OR Apache-2.0 + size: 701355 + timestamp: 1730214506716 +- kind: conda + name: uvloop + version: 0.21.0 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/uvloop-0.21.0-py312hb2c0f52_1.conda + sha256: 807eede6698bd00a1d739a3e19ee6ae6a03a66d2ddd2ef150f2dfd198c3b0292 + md5: d83e107ba16c77aba2feec47b7b666a4 + depends: + - libgcc >=13 + - libuv >=1.49.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT OR Apache-2.0 + size: 655266 + timestamp: 1730214606664 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py312h12e396e_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.24.0-py312h12e396e_1.conda + sha256: 04227e72c1e8c30afca18860491462461d35ffa1dba552770adce61794aa7114 + md5: fa5bb5b364b0f8162d67c31009c985c9 + depends: + - __glibc >=2.17,<3.0.a0 + - anyio >=3.0.0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 397205 + timestamp: 1725347165866 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py312h8cbf658_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/watchfiles-0.24.0-py312h8cbf658_1.conda + sha256: 0c6ce9bc28da2a1e9d04737fc1240f5aadf76df5482ee4c761422169a3bde8bb + md5: a698c65a64db774228eb585ff5dcfc8f + depends: + - anyio >=3.0.0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 400026 + timestamp: 1725347309835 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py312he431725_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/watchfiles-0.24.0-py312he431725_1.conda + sha256: e92ec8593fee0ce6cb2b565900eb9792c73efacc129d2bf92dba074bca505598 + md5: 7fd741404e6fcab22a988ee6742dc778 + depends: + - __osx >=11.0 + - anyio >=3.0.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 342896 + timestamp: 1725347401713 +- kind: conda + name: wcwidth + version: 0.2.13 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda + sha256: b6cd2fee7e728e620ec736d8dfee29c6c9e2adbd4e695a31f1d8f834a83e57e3 + md5: 68f0738df502a14213624b288c60c9ad + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 32709 + timestamp: 1704731373922 +- kind: conda + name: webcolors + version: 24.8.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda + sha256: ec71f97c332a7d328ae038990b8090cbfa772f82845b5d2233defd167b7cc5ac + md5: eb48b812eb4fbb9ff238a6651fdbbcae + depends: + - python >=3.5 + license: BSD-3-Clause + license_family: BSD + size: 18378 + timestamp: 1723294800217 +- kind: conda + name: webencodings + version: 0.5.1 + build: pyhd8ed1ab_2 + build_number: 2 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda + sha256: 2adf9bd5482802837bc8814cbe28d7b2a4cbd2e2c52e381329eaa283b3ed1944 + md5: daf5160ff9cde3a468556965329085b9 + depends: + - python >=2.6 + license: BSD-3-Clause + license_family: BSD + size: 15600 + timestamp: 1694681458271 +- kind: conda + name: websocket-client + version: 1.8.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda + sha256: 44a5e3b97feef24cd719f7851cca9af9799dc9c17d3e0298d5856baab2d682f5 + md5: f372c576b8774922da83cda2b12f9d29 + depends: + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 47066 + timestamp: 1713923494501 +- kind: conda + name: websockets + version: '13.1' + build: py312h024a12e_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-13.1-py312h024a12e_0.conda + sha256: 5e21d67cb8f6ed9433791235b6895b2623312dbaccd95201abba726ab6cf2027 + md5: fc2912e966527b1b2cc7a28c58e7b468 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 238360 + timestamp: 1727013548151 +- kind: conda + name: websockets + version: '13.1' + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.1-py312h66e93f0_0.conda + sha256: fd045d3de3b46bd9bbf39a8169b0ccbfb9087caeb036fed32a2dfbf33c9b05ee + md5: c2647bf776646075ccb357189aabdf54 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 238238 + timestamp: 1727013475463 +- kind: conda + name: websockets + version: '13.1' + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/websockets-13.1-py312hb2c0f52_0.conda + sha256: 966abae5f34144cba4efe6aa0a3184bcb57da10acb2542883201dd028f5e184c + md5: 20b7c990f0c25b3fc0e0d0bb4c6b57c8 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 238046 + timestamp: 1727013505 +- kind: conda + name: wheel + version: 0.44.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.44.0-pyhd8ed1ab_0.conda + sha256: d828764736babb4322b8102094de38074dedfc71f5ff405c9dfee89191c14ebc + md5: d44e3b085abcaef02983c6305b84b584 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 58585 + timestamp: 1722797131787 +- kind: conda + name: wrapt + version: 1.16.0 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.16.0-py312h024a12e_1.conda + sha256: 54a5d3d9e1b45022b28c5ca3ceaa7ec2db4a40968b2b556804becfdff98f4efe + md5: f97c9abfeb8292f5f8353607ca8a1127 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + size: 59642 + timestamp: 1724958200454 +- kind: conda + name: wrapt + version: 1.16.0 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h66e93f0_1.conda + sha256: 3a15a399eb61a999f0f14b4d243acc14e2dff1ead92ef52fcff30c84be89b21c + md5: 2eebcffe80e2a7bb2f0a77e621a7f124 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + size: 62624 + timestamp: 1724958046744 +- kind: conda + name: wrapt + version: 1.16.0 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/wrapt-1.16.0-py312hb2c0f52_1.conda + sha256: b6e1da6b700d489aa89599d46298dc6c16b34617ae1821a01c68015ebcdaa24d + md5: e30d2b17b3d1bf756ddc0e6d3a4dc79f + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + size: 62782 + timestamp: 1724958067507 +- kind: conda + name: xxhash + version: 0.8.2 + build: h31becfc_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/xxhash-0.8.2-h31becfc_0.conda + sha256: 4c526aed70b579d80e5c20d32130b6bc8bde59b3250d43c2b5269755f4da8a9b + md5: bb9faf6857108a9f62ebb4dab6ef05da + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 102442 + timestamp: 1689951682147 +- kind: conda + name: xxhash + version: 0.8.2 + build: hb547adb_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xxhash-0.8.2-hb547adb_0.conda + sha256: a70f59f7221ee72c45b39a6b36a33eb9c717ba01921cce1a3c361a4676979a2e + md5: 144cd3b88706507f332f5eb5fb83a33b + license: BSD-2-Clause + license_family: BSD + size: 97593 + timestamp: 1689951969732 +- kind: conda + name: xxhash + version: 0.8.2 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.2-hd590300_0.conda + sha256: 6fe74a8fd84ab0dc25e4dc3e0c22388dd8accb212897a208b14fe5d4fbb8fc2f + md5: f08fb5c89edfc4aadee1c81d4cfb1fa1 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 97691 + timestamp: 1689951608120 +- kind: conda + name: xz + version: 5.2.6 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162 + md5: 2161070d867d1b1204ea749c8eec4ef0 + depends: + - libgcc-ng >=12 + license: LGPL-2.1 and GPL-2.0 + size: 418368 + timestamp: 1660346797927 +- kind: conda + name: xz + version: 5.2.6 + build: h57fd34a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec + md5: 39c6b54e94014701dd157f4f576ed211 + license: LGPL-2.1 and GPL-2.0 + size: 235693 + timestamp: 1660346961024 +- kind: conda + name: xz + version: 5.2.6 + build: h9cdd2b7_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/xz-5.2.6-h9cdd2b7_0.tar.bz2 + sha256: 93f58a7b393adf41fa007ac8c55978765e957e90cd31877ece1e5a343cb98220 + md5: 83baad393a31d59c20b63ba4da6592df + depends: + - libgcc-ng >=12 + license: LGPL-2.1 and GPL-2.0 + size: 440555 + timestamp: 1660348056328 +- kind: conda + name: yaml + version: 0.2.5 + build: h3422bc3_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 + sha256: 93181a04ba8cfecfdfb162fc958436d868cc37db504c58078eab4c1a3e57fbb7 + md5: 4bb3f014845110883a3c5ee811fd84b4 + license: MIT + license_family: MIT + size: 88016 + timestamp: 1641347076660 +- kind: conda + name: yaml + version: 0.2.5 + build: h7f98852_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 + sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535 + md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 89141 + timestamp: 1641346969816 +- kind: conda + name: yaml + version: 0.2.5 + build: hf897c2e_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-hf897c2e_2.tar.bz2 + sha256: 8bc601d6dbe249eba44b3c456765265cd8f42ef1e778f8df9b0c9c88b8558d7e + md5: b853307650cb226731f653aa623936a4 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 92927 + timestamp: 1641347626613 +- kind: conda + name: yarl + version: 1.16.0 + build: py312h0bf5046_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.16.0-py312h0bf5046_0.conda + sha256: 2485912fa1c1acf51501519cd4d0253234f7e5b243093985b26ce167fdd67407 + md5: 81e954d5e6d3465d00f040b8ac1a8f67 + depends: + - __osx >=11.0 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 138281 + timestamp: 1729798786022 +- kind: conda + name: yarl + version: 1.16.0 + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.16.0-py312h66e93f0_0.conda + sha256: e9718b1f67f7359dee66995164ff734890066ad2eecb483b08f3f35b3f813c2d + md5: c3f4a6b56026c22319bf31514662b283 + depends: + - __glibc >=2.17,<3.0.a0 + - idna >=2.0 + - libgcc >=13 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 147820 + timestamp: 1729798523861 +- kind: conda + name: yarl + version: 1.16.0 + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/yarl-1.16.0-py312hb2c0f52_0.conda + sha256: ee59521491ba9658a45a6c469cf1046c135c90f03f725caba76057a4d346c3a4 + md5: 0cf6a3caac35f0c668b4eaffd18d74c9 + depends: + - idna >=2.0 + - libgcc >=13 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 145651 + timestamp: 1729798643724 +- kind: conda + name: zeromq + version: 4.3.5 + build: h3b0a872_6 + build_number: 6 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_6.conda + sha256: e67288b1c98a31ee58a5c07bdd873dbe08e75f752e1ad605d5e8c0697339903e + md5: 113506c8d2d558e733f5c38f6bf08c50 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + license: MPL-2.0 + license_family: MOZILLA + size: 335528 + timestamp: 1728364029042 +- kind: conda + name: zeromq + version: 4.3.5 + build: h5efb499_6 + build_number: 6 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-h5efb499_6.conda + sha256: 7cf61f742757ebb8773c5c96a9d768e06a288a0b9bd95ba212dccd17fae25abb + md5: c395b75ab44b4f82e5531de2cf9d20ba + depends: + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + license: MPL-2.0 + license_family: MOZILLA + size: 371083 + timestamp: 1728368602099 +- kind: conda + name: zeromq + version: 4.3.5 + build: h9f5b81c_6 + build_number: 6 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h9f5b81c_6.conda + sha256: 5c5061c976141eccbbb2aec21483ddd10fd1df4fd9bcf638e3fd57b2bd85721f + md5: 84121ef1717cdfbecedeae70142706cc + depends: + - __osx >=11.0 + - krb5 >=1.21.3,<1.22.0a0 + - libcxx >=17 + - libsodium >=1.0.20,<1.0.21.0a0 + license: MPL-2.0 + license_family: MOZILLA + size: 280870 + timestamp: 1728363954972 +- kind: conda + name: zipp + version: 3.20.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + sha256: 1e84fcfa41e0afdd87ff41e6fbb719c96a0e098c1f79be342293ab0bd8dea322 + md5: 4daaed111c05672ae669f7036ee5bba3 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 21409 + timestamp: 1726248679175 +- kind: conda + name: zstandard + version: 0.23.0 + build: py312h15fbf35_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312h15fbf35_1.conda + sha256: d00ca25c1e28fd31199b26a94f8c96574475704a825d244d7a6351ad3745eeeb + md5: a4cde595509a7ad9c13b1a3809bcfe51 + depends: + - __osx >=11.0 + - cffi >=1.11 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 330788 + timestamp: 1725305806565 +- kind: conda + name: zstandard + version: 0.23.0 + build: py312hb698573_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zstandard-0.23.0-py312hb698573_1.conda + sha256: 2681c2a249752bdc7978e59ee2f34fcdfcbfda80029b84b8e5fec8dbc9e3af25 + md5: ffcb8e97e62af42075e0e5f46bb9856e + depends: + - cffi >=1.11 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 392496 + timestamp: 1725305808244 +- kind: conda + name: zstandard + version: 0.23.0 + build: py312hef9b889_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312hef9b889_1.conda + sha256: b97015e146437283f2213ff0e95abdc8e2480150634d81fbae6b96ee09f5e50b + md5: 8b7069e9792ee4e5b4919a7a306d2e67 + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=1.11 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 419552 + timestamp: 1725305670210 +- kind: conda + name: zstd + version: 1.5.6 + build: h02f22dd_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.6-h02f22dd_0.conda + sha256: 484f9d0722c77685ae379fbff3ccd662af9ead7e59eb39cd6d0c677cdf25ff6c + md5: be8d5f8cf21aed237b8b182ea86b3dd6 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 539937 + timestamp: 1714723130243 +- kind: conda + name: zstd + version: 1.5.6 + build: ha6fb4c9_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda + sha256: c558b9cc01d9c1444031bd1ce4b9cff86f9085765f17627a6cd85fc623c8a02b + md5: 4d056880988120e29d75bfff282e0f45 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 554846 + timestamp: 1714722996770 +- kind: conda + name: zstd + version: 1.5.6 + build: hb46c0d2_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda + sha256: 2d4fd1ff7ee79cd954ca8e81abf11d9d49954dd1fef80f27289e2402ae9c2e09 + md5: d96942c06c3e84bfcc5efb038724a7fd + depends: + - __osx >=11.0 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 405089 + timestamp: 1714723101397 diff --git a/magic.lock b/magic.lock new file mode 100644 index 0000000000..c616b82512 --- /dev/null +++ b/magic.lock @@ -0,0 +1,8259 @@ +version: 5 +environments: + default: + channels: + - url: https://conda.anaconda.org/conda-forge/ + - url: https://conda.modular.com/max-nightly/ + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.10.10-py312h178313f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.31-he1a10d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.7.4-hae4d56a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.29-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.19-h2bff981_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.4.3-h19b0707_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.8.10-h14a7884_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.14.19-hc9e6898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.10.7-hb8d5873_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.6.7-h666547d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.19-h2bff981_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.20-h2bff981_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.28.3-hbe26082_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.407-h25d6d5c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.13.0-h935415a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.8.0-hd126650_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.12.0-hd2e3451_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.7.0-h10ac4d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.11.0-h325d260_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.2-heb4867d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.5.0-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.6.1-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_he02047a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-17.0.0-had3b6fe_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-17.0.0-h5888daf_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-17.0.0-h5888daf_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-17.0.0-hf54134d_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.10.1-hbbe4b11_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h77fa898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hd5240d6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h77fa898_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.29.0-h435de7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.29.0-h0121fbd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-25_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libparquet-17.0.0-h39682fd_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.3-hd5b35b9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2023.09.01-h5a48ba9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.20.0-h0e7cc3e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.8.0-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.4-h064dc61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-64/max-python-24.6.0.dev2024110605-3.12release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.1.0-py312h178313f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multiprocess-0.70.15-py312h98912ed_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orc-2.0.2-h669347b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.3-py312hf9745cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.2.0-py312h66e93f0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py312h83439f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-17.0.0-py312h9cebb41_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-17.0.0-py312h01725c0_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.23.4-py312h12e396e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.7-hc5c86c4_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.5.0-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.2.0-py312hbf22597_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/regex-2024.9.11-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.5-h3931f03_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/safetensors-0.4.5-py312h12e396e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tokenizers-0.20.3-py312h8360d73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.1-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.21.0-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.24.0-py312h12e396e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.1-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h66e93f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.2-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.16.0-py312h66e93f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312hef9b889_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda + linux-aarch64: + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aiohttp-3.10.10-py312hcc812fe_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-auth-0.7.31-h8fa6c3f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-cal-0.7.4-h3a42a84_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-common-0.9.29-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-compression-0.2.19-ha24d3e7_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-event-stream-0.4.3-h34ad692_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-http-0.8.10-h1e1d171_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-io-0.14.19-h9f8f545_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-mqtt-0.10.7-had41049_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-s3-0.6.7-h598b0a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-sdkutils-0.1.19-ha24d3e7_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-checksums-0.1.20-ha24d3e7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-crt-cpp-0.28.3-hcc2993b_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-sdk-cpp-1.11.407-hf265f57_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-core-cpp-1.13.0-h60f91e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-identity-cpp-1.8.0-hf0f394c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-blobs-cpp-12.12.0-h17ca4bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-common-cpp-12.7.0-h68dbd84_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-files-datalake-cpp-12.11.0-h36e5eb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.1.0-py312h6f74592_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.2-ha64f414_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2024.8.30-hcefe29a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-1.17.1-py312hac81daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/frozenlist-1.5.0-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gflags-2.2.2-h5ad3122_1005.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glog-0.7.1-h468a4a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/httptools-0.6.1-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.1-h4e544f5_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.21.3-h50a48e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.43-h80caac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20240116.2-cxx17_h0a1ffab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-17.0.0-hccffc7f_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-acero-17.0.0-h5ad3122_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-dataset-17.0.0-h5ad3122_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-substrait-17.0.0-h08b7278_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.1.0-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcrc32c-1.1.2-h01db608_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.10.1-h3ec0cbf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h31becfc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.6.3-h5ad3122_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.4.2-h3557bc0_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-14.2.0-he9431aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-14.2.0-hb6113d0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-2.29.0-hbb89541_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-storage-2.29.0-hb9b2b65_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgrpc-1.62.2-h98a9317_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.17-h31becfc_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.9.0-25_linuxaarch64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.64.0-hc8609a4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.28-pthreads_h9d3fd7e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libparquet-17.0.0-h501616e_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-4.25.3-hea2c3fa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libre2-11-2023.09.01-h9d008c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.20-h68df207_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.47.0-hc4a20ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.0-h492db2e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-14.2.0-h3f4de04_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-14.2.0-hf1166c9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libthrift-0.20.0-h154c74f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libutf8proc-2.8.0-h4e544f5_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.38.1-hb4cce97_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.49.2-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.13.4-hf4efe5d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.9.4-hd600fc2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.2-py312h74ce7d3_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-aarch64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/linux-aarch64/max-python-24.6.0.dev2024110605-3.12release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/multidict-6.1.0-py312hcc812fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/multiprocess-0.70.15-py312hdd3e373_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-hcccb83c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.26.4-py312h470d778_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.3.2-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/orc-2.0.2-h383807c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pandas-2.2.3-py312ha2895bd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/propcache-0.2.0-py312hb2c0f52_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/protobuf-4.25.3-py312h8a04735_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-17.0.0-py312h55cb1a1_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-core-17.0.0-py312h66f7834_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.23.4-py312h8cbf658_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.7-h5d932e8_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-xxhash-3.5.0-py312h52516f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.2-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-26.2.0-py312h2427ae1_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/re2-2023.09.01-h9caee61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8fc344f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2024.9.11-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/s2n-1.5.5-hc6ade00_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/safetensors-0.4.5-py312h8cbf658_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.1-h1088aeb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-h194ca79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tokenizers-0.20.3-py312ha0d6ea1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.4.1-py312h52516f5_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uvloop-0.21.0-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/watchfiles-0.24.0-py312h8cbf658_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/websockets-13.1-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wrapt-1.16.0-py312hb2c0f52_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xxhash-0.8.2-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xz-5.2.6-h9cdd2b7_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-hf897c2e_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yarl-1.16.0-py312hb2c0f52_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-h5efb499_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstandard-0.23.0-py312hb698573_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.6-h02f22dd_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.10.10-py312h906988d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.7.31-h14f56dd_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.7.4-hd45b2be_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.9.29-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.2.19-hd45b2be_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.4.3-hdf5079d_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.8.10-h4588aaf_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.14.19-h5ad5fc2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.10.7-hbe077eb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.6.7-h86d2b7d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.1.19-hd45b2be_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.1.20-hd45b2be_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.28.3-h4f9f7e0_8.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.407-h880863c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.13.0-hd01fc5c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.8.0-h13ea094_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.12.0-hfde595f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.7.0-hcf3b6fd_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.11.0-h082e32e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hde4cb15_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.2-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.5.0-py312h0bf5046_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/httptools-0.6.1-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20240116.2-cxx17_h00cdb27_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-17.0.0-hc6a7651_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-17.0.0-hf9b8971_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-17.0.0-hf9b8971_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-17.0.0-hbf8b706_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-hd74edd7_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.10.1-h13a7ad3_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20191231-hc8eb9b7_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.29.0-hfa33a2f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.29.0-h90fd6fa_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.62.2-h9c18a4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-17.0.0-hf0ba9ef_16_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-4.25.3-hc39d83c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2023.09.01-h7b2c953_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.20-h99b78c6_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.0-h7a5bd25_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.20.0-h64651cc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.8.0-h1a8c8d9_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.49.2-h7ab814d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.4-h8424949_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.9.4-hb7217d7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py312ha0ccf2a_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/osx-arm64/max-core-24.6.0.dev2024110605-release.conda + - conda: https://conda.modular.com/max-nightly/osx-arm64/max-python-24.6.0.dev2024110605-3.12release.conda + - conda: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.1.0-py312hdb8e49c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/multiprocess-0.70.15-py312h02f2b3b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.0.2-h75dedd0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.2.3-py312hcd31e36_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.2.0-py312h024a12e_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-4.25.3-py312he4aa971_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-17.0.0-py312ha814d7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-17.0.0-py312hc40f475_2_cpu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.23.4-py312he431725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-xxhash-3.5.0-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-26.2.0-py312hf8a1cbd_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2023.09.01-h4cba328_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/regex-2024.9.11-py312h024a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/safetensors-0.4.5-py312he431725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-hd02b534_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tokenizers-0.20.3-py312hf3e4074_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.1-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uvloop-0.21.0-py312h0bf5046_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchfiles-0.24.0-py312he431725_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-13.1-py312h024a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.16.0-py312h024a12e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xxhash-0.8.2-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.16.0-py312h0bf5046_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h9f5b81c_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312h15fbf35_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda +packages: +- kind: conda + name: _libgcc_mutex + version: '0.1' + build: conda_forge + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + md5: d7c89558ba9fa0495403155b64376d81 + license: None + size: 2562 + timestamp: 1578324546067 +- kind: conda + name: _openmp_mutex + version: '4.5' + build: 2_gnu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + md5: 73aaf86a425cc6e73fcf236a5a46396d + depends: + - _libgcc_mutex 0.1 conda_forge + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23621 + timestamp: 1650670423406 +- kind: conda + name: _openmp_mutex + version: '4.5' + build: 2_gnu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 + sha256: 3702bef2f0a4d38bd8288bbe54aace623602a1343c2cfbefd3fa188e015bebf0 + md5: 6168d71addc746e8f2b8d57dfd2edcea + depends: + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + size: 23712 + timestamp: 1650670790230 +- kind: conda + name: aiohappyeyeballs + version: 2.4.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.4.3-pyhd8ed1ab_0.conda + sha256: cfa5bed6ad8d00c2bc2c6ccf115e91ef1a9981b73c68537b247f1a964a841cac + md5: ec763b0a58960558ca0ad7255a51a237 + depends: + - python >=3.8.0 + license: PSF-2.0 + license_family: PSF + size: 19271 + timestamp: 1727779893392 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py312h178313f_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.10.10-py312h178313f_0.conda + sha256: d941b4e4ea00bf8f777321d2dea9c05e71767e4a38f4934b2c8d7a8408b2c813 + md5: d2f9e490ab2eae3e661b281346618a82 + depends: + - __glibc >=2.17,<3.0.a0 + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=13 + - multidict >=4.5,<7.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 834195 + timestamp: 1728629186912 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py312h906988d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aiohttp-3.10.10-py312h906988d_0.conda + sha256: f81b3f6e46ae5622b66191fdd3ff40d193b8cdd92242ba11bfa89159747406f9 + md5: f932c1be57fcd5a289e501f39735a7c2 + depends: + - __osx >=11.0 + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - multidict >=4.5,<7.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 807784 + timestamp: 1728629249798 +- kind: conda + name: aiohttp + version: 3.10.10 + build: py312hcc812fe_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aiohttp-3.10.10-py312hcc812fe_0.conda + sha256: 65161bdf0a80c0b13cf04470cc6ce4b4b9d765e9ee623445f6b441f7c37f0824 + md5: 61444df6e29f794f28decd1c40955f4d + depends: + - aiohappyeyeballs >=2.3.0 + - aiosignal >=1.1.2 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=13 + - multidict >=4.5,<7.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yarl >=1.12.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + size: 828236 + timestamp: 1728629275604 +- kind: conda + name: aiosignal + version: 1.3.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.3.1-pyhd8ed1ab_0.tar.bz2 + sha256: 575c742e14c86575986dc867463582a970463da50b77264cdf54df74f5563783 + md5: d1e1eb7e21a9e2c74279d87dafb68156 + depends: + - frozenlist >=1.1.0 + - python >=3.7 + license: Apache-2.0 + license_family: APACHE + size: 12730 + timestamp: 1667935912504 +- kind: conda + name: annotated-types + version: 0.7.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + sha256: 668f0825b6c18e4012ca24a0070562b6ec801ebc7008228a428eb52b4038873f + md5: 7e9f4612544c8edbfd6afad17f1bd045 + depends: + - python >=3.7 + - typing-extensions >=4.0.0 + license: MIT + license_family: MIT + size: 18235 + timestamp: 1716290348421 +- kind: conda + name: anyio + version: 4.6.2.post1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + sha256: 4b54b7ce79d818e3cce54ae4d552dba51b7afac160ceecdefd04b3917a37c502 + md5: 688697ec5e9588bdded167d19577625b + depends: + - exceptiongroup >=1.0.2 + - idna >=2.8 + - python >=3.9 + - sniffio >=1.1 + - typing_extensions >=4.1 + constrains: + - uvloop >=0.21.0b1 + - trio >=0.26.1 + license: MIT + license_family: MIT + size: 109864 + timestamp: 1728935803440 +- kind: conda + name: attrs + version: 24.2.0 + build: pyh71513ae_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + sha256: 28dba85a7e0f7fb57d7315e13f603d1e41b83c5b88aa2a602596b52c833a2ff8 + md5: 6732fa52eb8e66e5afeb32db8701a791 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 56048 + timestamp: 1722977241383 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: h14f56dd_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-auth-0.7.31-h14f56dd_2.conda + sha256: 7ec650c52962f62e141d5c8ac018befd9a0c50eef1c951cba11089cadd90e703 + md5: 85a9125cf9705e4c7a829a829af6744b + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 92624 + timestamp: 1728796392911 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: h8fa6c3f_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-auth-0.7.31-h8fa6c3f_2.conda + sha256: 1420263c333ed29b89f37d0b9f9665eb02f3a23a50f9fe3ef787a30726168711 + md5: a7549b69ce1339ab4702c10cc213c01d + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 112059 + timestamp: 1728796399534 +- kind: conda + name: aws-c-auth + version: 0.7.31 + build: he1a10d6_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.31-he1a10d6_2.conda + sha256: 83fa4b24101cd85da825dcbb7611390c2a6e31a3fc17abb4d1ee5b8c40bdaa5a + md5: 76550a294cc78aaccfca7824bb4814ce + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 107301 + timestamp: 1728796325782 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: h3a42a84_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-cal-0.7.4-h3a42a84_2.conda + sha256: 5a0825bf3f2e89458088eb83f2e6e3eed0f3b9711963f6bf45cea9ed699a5611 + md5: 4c4096ea8a644e837e3d8576bf6d2ba9 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 49479 + timestamp: 1728755609823 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: hae4d56a_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.7.4-hae4d56a_2.conda + sha256: 4bfed63898a1697364ce9621e1fc09c98f143777b0ca60655eb812efa5bf246d + md5: cdc628e4ffb4ffcd476e3847267e1689 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 47181 + timestamp: 1728755555430 +- kind: conda + name: aws-c-cal + version: 0.7.4 + build: hd45b2be_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-cal-0.7.4-hd45b2be_2.conda + sha256: d701872d79184dbb759aa033e6a6e4ec5c6f1b58e3255e53b756d0246d19986a + md5: de4bf687ac70a2b861a94b87164669c9 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 39794 + timestamp: 1728755626145 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-common-0.9.29-h7ab814d_0.conda + sha256: 8d2c330f0de571f1bf6f2db7650a1aa8c4060a2ccd25b48f392a4d3ea8222daa + md5: d4a90d217342b08daa7e80049fdaa6c9 + depends: + - __osx >=11.0 + license: Apache-2.0 + license_family: Apache + size: 220687 + timestamp: 1728706817796 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-common-0.9.29-h86ecc28_0.conda + sha256: f79b28d046aa448016ef4ddade430cfbfa3802813b6be04c97abb531edef05a2 + md5: f1fef7581dd3389ca7a3545e50bfcc7f + depends: + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 258186 + timestamp: 1728706827519 +- kind: conda + name: aws-c-common + version: 0.9.29 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.29-hb9d3cd8_0.conda + sha256: b3b50f518e9afad383f6851bf7000cf8b343d7d3ca71558df233ee7b4bfc2919 + md5: acc51b49fd7467c8dfe4343001b812b4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 237231 + timestamp: 1728706773555 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: h2bff981_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.19-h2bff981_2.conda + sha256: 908a416ff3f62b09bed436e1f77418f54115412244734d3960b11d586dd0749f + md5: 87a059d4d2ab89409496416119dd7152 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 18983 + timestamp: 1728750679322 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: ha24d3e7_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-compression-0.2.19-ha24d3e7_2.conda + sha256: 5c8abfbe725f7b646223a64b9446fc3305f66da75d27f199a3347ca1d9ea5671 + md5: a8162788a62f2568587b20646f2eacea + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 19862 + timestamp: 1728750729312 +- kind: conda + name: aws-c-compression + version: 0.2.19 + build: hd45b2be_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-compression-0.2.19-hd45b2be_2.conda + sha256: 86900c68f95a2ca79cb9bcb8a3e8fd0a7912cfa3754a6a1e6b78d35c0b8db58b + md5: 9c634af661f50e923419e0df92633d31 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 18065 + timestamp: 1728750721405 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: h19b0707_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.4.3-h19b0707_4.conda + sha256: 951f96eb45a439a36935dc2099e10c902518ec511a287c1685ca65a88a9accaa + md5: df38f56123f30d61de24474e600e7d41 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 53821 + timestamp: 1728792746255 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: h34ad692_4 + build_number: 4 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-event-stream-0.4.3-h34ad692_4.conda + sha256: 20fb76e0740a403ef8e7bbf655482699612b9a6a25df15ff9f14caad511e79c9 + md5: 8d66cac131dd88ef8b81299e8b5818f8 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 55018 + timestamp: 1728792897824 +- kind: conda + name: aws-c-event-stream + version: 0.4.3 + build: hdf5079d_4 + build_number: 4 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-event-stream-0.4.3-hdf5079d_4.conda + sha256: 6976ea97bf8c79114da3026a9d46b717131e2445be01f244718a426ad4b587f2 + md5: d89057a51d66d9c0c907c3dfebf845eb + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + size: 46737 + timestamp: 1728792823021 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h14a7884_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.8.10-h14a7884_2.conda + sha256: 0561267292739a451d7d389f100330fefafb97859962f617cd5268c96400e3aa + md5: 6147c6b6cef67adcb85516f5cf775be7 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 197562 + timestamp: 1728792795954 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h1e1d171_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-http-0.8.10-h1e1d171_2.conda + sha256: bb6426db42f1804b52b83a736f6ad4c407e260a7da5b0fe586cbe18e71101dfb + md5: 20f29e7210c170cbc810f10d65f692aa + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 190604 + timestamp: 1728792811917 +- kind: conda + name: aws-c-http + version: 0.8.10 + build: h4588aaf_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-http-0.8.10-h4588aaf_2.conda + sha256: 0f422e1cb3ebfa4fbf316e0ee576ed8e8f96cd9890783a0d319366e7ad9ebca6 + md5: fd850cc4bc7af65f3b7e98324bda96fa + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-compression >=0.2.19,<0.2.20.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 152421 + timestamp: 1728792977955 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: h5ad5fc2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-io-0.14.19-h5ad5fc2_1.conda + sha256: 0fcfbd9b46474b543d59183bedee08bf46d0f5167c95406b3b06ce922d6626c4 + md5: 463fae93275ddd0a6e2afb327b4d87e5 + depends: + - __osx >=11.0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 137474 + timestamp: 1728770995104 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: h9f8f545_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-io-0.14.19-h9f8f545_1.conda + sha256: dea9075bd1fac65a0bbaacf038f8196892004da9c44c34d061b0d1eec81b9644 + md5: 46958359610629e7eea043a83f64540c + depends: + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - s2n >=1.5.5,<1.5.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 163350 + timestamp: 1728771046323 +- kind: conda + name: aws-c-io + version: 0.14.19 + build: hc9e6898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.14.19-hc9e6898_1.conda + sha256: 35f9719fb9d5ddf4955a432d73d910261d60754d20b58de2be2701a2e68a9cfb + md5: ec84785f7ae14ed43156a54aec33bb14 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + - s2n >=1.5.5,<1.5.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 158806 + timestamp: 1728770974012 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: had41049_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-mqtt-0.10.7-had41049_2.conda + sha256: 2c4065737a77f80fd475ea1979db046ca7d46dd35548d7c20be1521c7ac17eef + md5: 4f489845a24aa7d2c556b0fedfb7e0a3 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 169126 + timestamp: 1728797232432 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: hb8d5873_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.10.7-hb8d5873_2.conda + sha256: b30a3d8ba9352760c30f696b65486fe0e1d3cfe771f114b008a70ad440eb00c0 + md5: 8dc25ca24c1a50b8295a848c384ede99 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 195951 + timestamp: 1728797647791 +- kind: conda + name: aws-c-mqtt + version: 0.10.7 + build: hbe077eb_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-mqtt-0.10.7-hbe077eb_2.conda + sha256: 376f757b460fc936da6b8159ef80ed5a51a23d2ba02e7834055a99616004d3bc + md5: 5013eaa8a8242355199a31e8973ff3f0 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + license: Apache-2.0 + license_family: Apache + size: 135058 + timestamp: 1728797199832 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h598b0a5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-s3-0.6.7-h598b0a5_0.conda + sha256: 93c43c3cee726280deaf44d52cc936f51b1c614bfaf600ffd5f002a6a6bb4bd7 + md5: 46860887427f76d0ff0824d987a7aee1 + depends: + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 117032 + timestamp: 1728967110055 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h666547d_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.6.7-h666547d_0.conda + sha256: fe006f58bd9349ab7cd4cd864dd4e83409e89764b10d9d7eb7ec148e2f964465 + md5: 7f59dcbbd4eab14ca9256f20b43849eb + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 113457 + timestamp: 1728967087200 +- kind: conda + name: aws-c-s3 + version: 0.6.7 + build: h86d2b7d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-s3-0.6.7-h86d2b7d_0.conda + sha256: 4691154b75d85039da165b01bd25a2dce99f40b8a635fa9537a36a45dcc3e236 + md5: 851d2b927ba01ac963ffbc1868e971a3 + depends: + - __osx >=11.0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + license: Apache-2.0 + license_family: Apache + size: 96707 + timestamp: 1728967262718 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: h2bff981_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.19-h2bff981_4.conda + sha256: ef65ca9eb9f32ada6fb1b47759374e7ef4f85db002f2265ebc8fd61718284cbc + md5: 5a8afd37e2dfe464d68e63d1c38b08c5 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 55957 + timestamp: 1728755888042 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: ha24d3e7_4 + build_number: 4 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-c-sdkutils-0.1.19-ha24d3e7_4.conda + sha256: 2bec8bd76145f72c89068fb30d60353e6c71a4bb32e13eb543d9d04d6ea0ae9b + md5: 33e7e774771d00b2933443c3954796ea + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 58640 + timestamp: 1728755998456 +- kind: conda + name: aws-c-sdkutils + version: 0.1.19 + build: hd45b2be_4 + build_number: 4 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-c-sdkutils-0.1.19-hd45b2be_4.conda + sha256: cc374eef1b367fb9acc83b2e74830f62742d3e53e1f0f6a0d01939b16ed1e3d5 + md5: 7ccdd0f21ffbc77b11963f00892ca8b5 + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 49543 + timestamp: 1728755942076 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: h2bff981_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.20-h2bff981_1.conda + sha256: e1793f2e52fe04ef3a6b2069abda7960d061c6f7af1f0d5f616d43e7a7c40e3c + md5: 8b424cf6b3cfc5cffe98bf4d16c032fb + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 72862 + timestamp: 1728750748391 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: ha24d3e7_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-checksums-0.1.20-ha24d3e7_1.conda + sha256: f59c33d71fe4dad1099d9124f471ff9c9e06a51d43578aeb2740c8416dc03540 + md5: 592f2d2e8bc10e60e0d0cf0a737b5da8 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 72491 + timestamp: 1728750762489 +- kind: conda + name: aws-checksums + version: 0.1.20 + build: hd45b2be_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-checksums-0.1.20-hd45b2be_1.conda + sha256: d935ca7faa780cfa1053fe1bffb77611a54b4df791897a22048e770b250c651f + md5: ab0b68aafe787311cb8397fd2e60982d + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + license: Apache-2.0 + license_family: Apache + size: 70087 + timestamp: 1728750818479 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: h4f9f7e0_8 + build_number: 8 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-crt-cpp-0.28.3-h4f9f7e0_8.conda + sha256: 98cbed635af4841186aa3261e6ceadd03822983d6e30f0afa5d34eb452b2b509 + md5: 14af6354d5437421793e17e865301371 + depends: + - __osx >=11.0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache + size: 229980 + timestamp: 1729181342157 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: hbe26082_8 + build_number: 8 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-crt-cpp-0.28.3-hbe26082_8.conda + sha256: a9c23a685929b24fcd032daae36b61c4862912abf0a0a8735aeef53418c5bce6 + md5: 80d5fac04be0e6c2774f57eb7529f145 + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 349632 + timestamp: 1729181229435 +- kind: conda + name: aws-crt-cpp + version: 0.28.3 + build: hcc2993b_8 + build_number: 8 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-crt-cpp-0.28.3-hcc2993b_8.conda + sha256: 3b5779785c8700e73be97f63ea778b6dba033a49fd77569c5fddbdd3a53a2600 + md5: e71043206d9db242eae53b70773f7f62 + depends: + - aws-c-auth >=0.7.31,<0.7.32.0a0 + - aws-c-cal >=0.7.4,<0.7.5.0a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-c-http >=0.8.10,<0.8.11.0a0 + - aws-c-io >=0.14.19,<0.14.20.0a0 + - aws-c-mqtt >=0.10.7,<0.10.8.0a0 + - aws-c-s3 >=0.6.7,<0.6.8.0a0 + - aws-c-sdkutils >=0.1.19,<0.1.20.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + size: 276668 + timestamp: 1729181269528 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: h25d6d5c_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-sdk-cpp-1.11.407-h25d6d5c_1.conda + sha256: f05d43f3204887cec9a9853a9217f06562b28161950b5485aed1f8afe42aad17 + md5: 0f2bd0128d59a45c9fd56151eab0b37e + depends: + - __glibc >=2.17,<3.0.a0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2931742 + timestamp: 1729235000691 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: h880863c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aws-sdk-cpp-1.11.407-h880863c_1.conda + sha256: 9cea713c0d727def94e29a99cdfe1deb65c241c90bc41c96e1e77777cb84d4c9 + md5: 60877ad5c76505fa4b90ab5567babb3d + depends: + - __osx >=11.0 + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libcxx >=17 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2709553 + timestamp: 1729235667236 +- kind: conda + name: aws-sdk-cpp + version: 1.11.407 + build: hf265f57_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/aws-sdk-cpp-1.11.407-hf265f57_1.conda + sha256: d265e7a2af974f09ba795a900900e36e44e581b3adc7e827ddfd2374337ea89c + md5: 63a6b060807c6885d25f82615d5bd8f2 + depends: + - aws-c-common >=0.9.29,<0.9.30.0a0 + - aws-c-event-stream >=0.4.3,<0.4.4.0a0 + - aws-checksums >=0.1.20,<0.1.21.0a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - libcurl >=8.10.1,<9.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 2758696 + timestamp: 1729234995101 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: h60f91e5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-core-cpp-1.13.0-h60f91e5_0.conda + sha256: b3aecc4e01db67a18891e6e9517ec9b628577bbd2e1b6616d147c7c5f2f28a2b + md5: fc41d5a9f2c98fd37324c20f47b0124b + depends: + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 331714 + timestamp: 1720854524500 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: h935415a_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-core-cpp-1.13.0-h935415a_0.conda + sha256: b7e0a22295db2e1955f89c69cefc32810309b3af66df986d9fb75d89f98a80f7 + md5: debd1677c2fea41eb2233a260f48a298 + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 338134 + timestamp: 1720853194547 +- kind: conda + name: azure-core-cpp + version: 1.13.0 + build: hd01fc5c_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-core-cpp-1.13.0-hd01fc5c_0.conda + sha256: aff4af38416cf7a81c79e5a3b071ce5aa13ec48da28db0312bc1ebe62cf7273d + md5: 2083f6313e623079db6ee67af00e6b27 + depends: + - __osx >=11.0 + - libcurl >=8.8.0,<9.0a0 + - libcxx >=16 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 287922 + timestamp: 1720853302106 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: h13ea094_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-identity-cpp-1.8.0-h13ea094_2.conda + sha256: 11b01715cae19390890f29ebb56d36d895feafd787ba929aa10b6ce712f3f4b9 + md5: 383b72f2ee009992b21f4db08a708510 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libcxx >=16 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 142135 + timestamp: 1721777696118 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: hd126650_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-identity-cpp-1.8.0-hd126650_2.conda + sha256: f85452eca3ae0e156b1d1a321a1a9f4f58d44ff45236c0d8602ab96aaad3c6ba + md5: 36df3cf05459de5d0a41c77c4329634b + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 199516 + timestamp: 1721777604325 +- kind: conda + name: azure-identity-cpp + version: 1.8.0 + build: hf0f394c_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-identity-cpp-1.8.0-hf0f394c_2.conda + sha256: ac143df6b8596eeee2f770f02013e384f06ac09ecee042ee7f8c5a65f7958330 + md5: 3e74c83218d71b01f988e6bada2f4e22 + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 182768 + timestamp: 1721779454639 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: h17ca4bd_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-blobs-cpp-12.12.0-h17ca4bd_0.conda + sha256: 4955de4131a1b4a16ac1f63d3e6f325904b997e1adb0f3fadf5a3b112eee6803 + md5: 9a26fea6b69f4f02689893366961be49 + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 473009 + timestamp: 1721866393941 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: hd2e3451_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-blobs-cpp-12.12.0-hd2e3451_0.conda + sha256: 69a0f5c2a08a1a40524b343060debb8d92295e2cc5805c3db56dad7a41246a93 + md5: 61f1c193452f0daa582f39634627ea33 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 523120 + timestamp: 1721865032339 +- kind: conda + name: azure-storage-blobs-cpp + version: 12.12.0 + build: hfde595f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-blobs-cpp-12.12.0-hfde595f_0.conda + sha256: f733f4acedd8bf1705c780e0828f0b83242ae7e72963aef60d12a7c5b3a8640d + md5: f2c935764fdacd0fafc05f975fd347e0 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libcxx >=16 + license: MIT + license_family: MIT + size: 419976 + timestamp: 1721865180569 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: h10ac4d7_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-common-cpp-12.7.0-h10ac4d7_1.conda + sha256: 1030fa54497a73eb78c509d451f25701e2e781dc182e7647f55719f1e1f9bee8 + md5: ab6d507ad16dbe2157920451d662e4a1 + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 143039 + timestamp: 1721832724803 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: h68dbd84_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-common-cpp-12.7.0-h68dbd84_1.conda + sha256: a4e0afd65ffed6cc788f13068b452d253e4bfa61d8ca0ebaa80e26fe62fed5f7 + md5: 368c9e33d8cc763bf883ca12c163b93c + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 135615 + timestamp: 1721834497638 +- kind: conda + name: azure-storage-common-cpp + version: 12.7.0 + build: hcf3b6fd_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-common-cpp-12.7.0-hcf3b6fd_1.conda + sha256: 3fdf9c0337c48706cffe2e4c761cdea4132fb6dbd1f144d969c28afd903cf256 + md5: df7e01bcf8f3a9bfb0ab06778f915f29 + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - libcxx >=16 + - libxml2 >=2.12.7,<3.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 119821 + timestamp: 1721832870493 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h082e32e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/azure-storage-files-datalake-cpp-12.11.0-h082e32e_1.conda + sha256: 3c288dc1ae6bff9a1e21ab5196d13ab486850f61ec649a743a87bf9726901abf + md5: 16b05d31f626717668f01c01a970115f + depends: + - __osx >=11.0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libcxx >=16 + license: MIT + license_family: MIT + size: 189065 + timestamp: 1721925275724 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h325d260_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/azure-storage-files-datalake-cpp-12.11.0-h325d260_1.conda + sha256: 1726fa324bb402e52d63227d6cb3f849957cd6841f8cb8aed58bb0c81203befb + md5: 11d926d1f4a75a1b03d1c053ca20424b + depends: + - __glibc >=2.17,<3.0.a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 274492 + timestamp: 1721925100762 +- kind: conda + name: azure-storage-files-datalake-cpp + version: 12.11.0 + build: h36e5eb4_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/azure-storage-files-datalake-cpp-12.11.0-h36e5eb4_1.conda + sha256: ba0cf9514c12d9fa56a15966badaec450d11ab78adef690501e38bb0f78aeb5f + md5: db65bbb89c21436f5471f93b09a7c09c + depends: + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-common-cpp >=12.7.0,<12.7.1.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 243908 + timestamp: 1721926367577 +- kind: conda + name: backoff + version: 2.2.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/backoff-2.2.1-pyhd8ed1ab_0.tar.bz2 + sha256: b1cf7df15741e5fbc57e22a3a89db427383335aaab22ddc1b30710deeb0130de + md5: 4600709bd85664d8606ae0c76642f8db + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 17501 + timestamp: 1665004860081 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py312h2ec8cdc_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h2ec8cdc_2.conda + sha256: f2a59ccd20b4816dea9a2a5cb917eb69728271dbf1aeab4e1b7e609330a50b6f + md5: b0b867af6fc74b2a0aa206da29c0f3cf + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 hb9d3cd8_2 + license: MIT + license_family: MIT + size: 349867 + timestamp: 1725267732089 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py312h6f74592_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.1.0-py312h6f74592_2.conda + sha256: 9736bf660a0e4260c68f81d2635b51067f817813e6490ac9e8abd9a835dcbf6d + md5: e1e9727063057168d95f27a032acd0a4 + depends: + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 h86ecc28_2 + license: MIT + license_family: MIT + size: 356878 + timestamp: 1725267878508 +- kind: conda + name: brotli-python + version: 1.1.0 + build: py312hde4cb15_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.1.0-py312hde4cb15_2.conda + sha256: 254b411fa78ccc226f42daf606772972466f93e9bc6895eabb4cfda22f5178af + md5: a83c2ef76ccb11bc2349f4f17696b15d + depends: + - __osx >=11.0 + - libcxx >=17 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 339360 + timestamp: 1725268143995 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h4bc722e_7 + build_number: 7 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda + sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d + md5: 62ee74e96c5ebb0af99386de58cf9553 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: bzip2-1.0.6 + license_family: BSD + size: 252783 + timestamp: 1720974456583 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h68df207_7 + build_number: 7 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h68df207_7.conda + sha256: 2258b0b33e1cb3a9852d47557984abb6e7ea58e3d7f92706ec1f8e879290c4cb + md5: 56398c28220513b9ea13d7b450acfb20 + depends: + - libgcc-ng >=12 + license: bzip2-1.0.6 + license_family: BSD + size: 189884 + timestamp: 1720974504976 +- kind: conda + name: bzip2 + version: 1.0.8 + build: h99b78c6_7 + build_number: 7 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91 + md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab + depends: + - __osx >=11.0 + license: bzip2-1.0.6 + license_family: BSD + size: 122909 + timestamp: 1720974522888 +- kind: conda + name: c-ares + version: 1.34.2 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.2-h7ab814d_0.conda + sha256: 24d53d27397f9c2f0c168992690b5ec1bd62593fb4fc1f1e906ab91b10fd06c3 + md5: 8a8cfc11064b521bc54bd2d8591cb137 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 177487 + timestamp: 1729006763496 +- kind: conda + name: c-ares + version: 1.34.2 + build: ha64f414_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.2-ha64f414_0.conda + sha256: 06f67e6b2c18f1ff79391ffb032c752fcbbf754f6f6e7a786edde6cca1c92791 + md5: 588af5337614cece17e61b6ac907f812 + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 214916 + timestamp: 1729006632022 +- kind: conda + name: c-ares + version: 1.34.2 + build: heb4867d_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.2-heb4867d_0.conda + sha256: c2a515e623ac3e17a56027c06098fbd5ab47afefefbd386b4c21289f2ec55139 + md5: 2b780c0338fc0ffa678ac82c54af51fd + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 205797 + timestamp: 1729006575652 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hbcca054_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda + sha256: afee721baa6d988e27fef1832f68d6f32ac8cc99cdf6015732224c2841a09cea + md5: c27d1c142233b5bc9ca570c6e2e0c244 + license: ISC + size: 159003 + timestamp: 1725018903918 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hcefe29a_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2024.8.30-hcefe29a_0.conda + sha256: 2a2d827bee3775a85f0f1b2f2089291475c4416336d1b3a8cbce2964db547af8 + md5: 70e57e8f59d2c98f86b49c69e5074be5 + license: ISC + size: 159106 + timestamp: 1725020043153 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hf0a4a13_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + sha256: 2db1733f4b644575dbbdd7994a8f338e6ef937f5ebdb74acd557e9dda0211709 + md5: 40dec13fd8348dbe303e57be74bd3d35 + license: ISC + size: 158482 + timestamp: 1725019034582 +- kind: conda + name: certifi + version: 2024.8.30 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + sha256: 7020770df338c45ac6b560185956c32f0a5abf4b76179c037f115fc7d687819f + md5: 12f7d00853807b0531775e9be891cb11 + depends: + - python >=3.7 + license: ISC + size: 163752 + timestamp: 1725278204397 +- kind: conda + name: cffi + version: 1.17.1 + build: py312h06ac9bb_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.17.1-py312h06ac9bb_0.conda + sha256: cba6ea83c4b0b4f5b5dc59cb19830519b28f95d7ebef7c9c5cf1c14843621457 + md5: a861504bbea4161a9170b85d4d2be840 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 294403 + timestamp: 1725560714366 +- kind: conda + name: cffi + version: 1.17.1 + build: py312h0fad829_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-1.17.1-py312h0fad829_0.conda + sha256: 8d91a0d01358b5c3f20297c6c536c5d24ccd3e0c2ddd37f9d0593d0f0070226f + md5: 19a5456f72f505881ba493979777b24e + depends: + - __osx >=11.0 + - libffi >=3.4,<4.0a0 + - pycparser + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 281206 + timestamp: 1725560813378 +- kind: conda + name: cffi + version: 1.17.1 + build: py312hac81daf_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-1.17.1-py312hac81daf_0.conda + sha256: 1162e3ca039e7ca7c0e78f0a020ed1bde968096841b663e3f393c966eb82f0f0 + md5: 1a256e5581b1099e9295cb84d53db3ea + depends: + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 312892 + timestamp: 1725561779888 +- kind: conda + name: charset-normalizer + version: 3.4.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + sha256: 1873ac45ea61f95750cb0b4e5e675d1c5b3def937e80c7eebb19297f76810be8 + md5: a374efa97290b8799046df7c5ca17164 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 47314 + timestamp: 1728479405343 +- kind: conda + name: click + version: 8.1.7 + build: unix_pyh707e725_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec + md5: f3ad426304898027fc619827ff428eca + depends: + - __unix + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 84437 + timestamp: 1692311973840 +- kind: conda + name: colorama + version: 0.4.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + md5: 3faab06a954c2a04039983f2c4a50d99 + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 25170 + timestamp: 1666700778190 +- kind: conda + name: datasets + version: 2.14.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/datasets-2.14.4-pyhd8ed1ab_0.conda + sha256: 7e09bd083a609138b780fcc4535924cb96814d2c908a36d4c64a2ba9ee3efe7f + md5: 3e087f072ce03c43a9b60522f5d0ca2f + depends: + - aiohttp + - dill >=0.3.0,<0.3.8 + - fsspec >=2021.11.1 + - huggingface_hub >=0.14.0,<1.0.0 + - importlib-metadata + - multiprocess + - numpy >=1.17 + - packaging + - pandas + - pyarrow >=8.0.0 + - python >=3.8.0 + - python-xxhash + - pyyaml >=5.1 + - requests >=2.19.0 + - tqdm >=4.62.1 + license: Apache-2.0 + license_family: Apache + size: 347303 + timestamp: 1691593908658 +- kind: conda + name: deprecated + version: 1.2.14 + build: pyh1a96a4e_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + sha256: 8f61539b00ea315c99f8b6f9e2408caa6894593617676741214cc0280e875ca0 + md5: 4e4c4236e1ca9bcd8816b921a4805882 + depends: + - python >=2.7 + - wrapt <2,>=1.10 + license: MIT + license_family: MIT + size: 14033 + timestamp: 1685233463632 +- kind: conda + name: dill + version: 0.3.7 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.7-pyhd8ed1ab_0.conda + sha256: 4ff20c6be028be2825235631c45d9e4a75bca1de65f8840c02dfb28ea0137c45 + md5: 5e4f3466526c52bc9af2d2353a1460bd + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 87553 + timestamp: 1690101185422 +- kind: conda + name: dnspython + version: 2.7.0 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/dnspython-2.7.0-pyhff2d567_0.conda + sha256: 3e2ea1bfd90969e0e1f152bb1f969c56661278ad6bfaa3272027b1ff0d9a1a23 + md5: 0adf8f63d500d20418656289249533f9 + depends: + - python >=3.9.0,<4.0.0 + - sniffio + constrains: + - cryptography >=43 + - wmi >=1.5.1 + - h2 >=4.1.0 + - trio >=0.23 + - httpcore >=1.0.0 + - aioquic >=1.0.0 + - httpx >=0.26.0 + - idna >=3.7 + license: ISC + license_family: OTHER + size: 172740 + timestamp: 1728178868478 +- kind: conda + name: email-validator + version: 2.2.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/email-validator-2.2.0-pyhd8ed1ab_0.conda + sha256: ea9e936ed7c49ea6d66fa3554afe31ba311f2a3d5e384d8c38925fda9e37bdb9 + md5: 3067adf57ee658ddf5bfad47b0041ce4 + depends: + - dnspython >=2.0.0 + - idna >=2.0.0 + - python >=3.7 + license: Unlicense + size: 44157 + timestamp: 1718984716782 +- kind: conda + name: email_validator + version: 2.2.0 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/email_validator-2.2.0-hd8ed1ab_0.conda + sha256: 2cbbbe9e0f3872214227c27b8b775dd2296a435c90ef50a7cc69934c329b6c65 + md5: 0214a004f7cf5ac28fc10a390dfc47ee + depends: + - email-validator >=2.2.0,<2.2.1.0a0 + license: Unlicense + size: 6690 + timestamp: 1718984720419 +- kind: conda + name: exceptiongroup + version: 1.2.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + sha256: e0edd30c4b7144406bb4da975e6bb97d6bc9c0e999aa4efe66ae108cada5d5b5 + md5: d02ae936e42063ca46af6cdad2dbd1e0 + depends: + - python >=3.7 + license: MIT and PSF-2.0 + size: 20418 + timestamp: 1720869435725 +- kind: conda + name: fastapi + version: 0.115.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fastapi-0.115.4-pyhd8ed1ab_0.conda + sha256: 69d319a58a7f929c047c0e6c1b845a3b384840ff95b1391516aa683f517f0929 + md5: 29841fbba8e0d4628ab513b92212def4 + depends: + - email_validator >=2.0.0 + - fastapi-cli >=0.0.5 + - httpx >=0.23.0 + - jinja2 >=2.11.2 + - pydantic >=1.7.4,!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0 + - python >=3.8 + - python-multipart >=0.0.7 + - starlette >=0.40.0,<0.42.0 + - typing_extensions >=4.8.0 + - uvicorn >=0.12.0 + license: MIT + license_family: MIT + size: 73156 + timestamp: 1730122842479 +- kind: conda + name: fastapi-cli + version: 0.0.5 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fastapi-cli-0.0.5-pyhd8ed1ab_1.conda + sha256: 2294f02beff318614a737454f1a432a6f4ae22216a85b296b7041fedab293516 + md5: d141225aba450ec07c771c73ac57bb43 + depends: + - python >=3.8 + - typer >=0.12.3 + - uvicorn-standard >=0.15.0 + license: MIT + license_family: MIT + size: 14441 + timestamp: 1728947860847 +- kind: conda + name: filelock + version: 3.16.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.16.1-pyhd8ed1ab_0.conda + sha256: 1da766da9dba05091af87977922fe60dc7464091a9ccffb3765d403189d39be4 + md5: 916f8ec5dd4128cd5f207a3c4c07b2c6 + depends: + - python >=3.7 + license: Unlicense + size: 17357 + timestamp: 1726613593584 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py312h0bf5046_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/frozenlist-1.5.0-py312h0bf5046_0.conda + sha256: 44d6d6b332421e621c029fb149f12dba1ccb5ed6ac632e2e807a9d92d6cb2864 + md5: 7960352935cc95ac23883c9b8c97f2ff + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 53366 + timestamp: 1729699762631 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.5.0-py312h66e93f0_0.conda + sha256: 7e0c12983b20f2816b3712729b5a35ecb7ee152132ca7cf805427c62395ea823 + md5: f98e36c96b2c66d9043187179ddb04f4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 60968 + timestamp: 1729699568442 +- kind: conda + name: frozenlist + version: 1.5.0 + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/frozenlist-1.5.0-py312hb2c0f52_0.conda + sha256: b0a9ff3e71452eed70877b2f3175d41cd85070da6deac381c5f3f61e1f19bccb + md5: 62fc11b0738ca15e0dd19b60cf280d12 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 59967 + timestamp: 1729699642726 +- kind: conda + name: fsspec + version: 2024.10.0 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.10.0-pyhff2d567_0.conda + sha256: 40bb76981dd49d5869b48925a8975bb7bbe4e33e1e40af4ec06f6bf4a62effd7 + md5: 816dbc4679a64e4417cd1385d661bb31 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 134745 + timestamp: 1729608972363 +- kind: conda + name: gflags + version: 2.2.2 + build: h5888daf_1005 + build_number: 1005 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gflags-2.2.2-h5888daf_1005.conda + sha256: 6c33bf0c4d8f418546ba9c250db4e4221040936aef8956353bc764d4877bc39a + md5: d411fc29e338efb48c5fd4576d71d881 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 119654 + timestamp: 1726600001928 +- kind: conda + name: gflags + version: 2.2.2 + build: h5ad3122_1005 + build_number: 1005 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/gflags-2.2.2-h5ad3122_1005.conda + sha256: 28fe6b40b20454106d5e4ef6947cf298c13cc72a46347bbc49b563cd3a463bfa + md5: 4ff634d515abbf664774b5e1168a9744 + depends: + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + size: 106638 + timestamp: 1726599967617 +- kind: conda + name: gflags + version: 2.2.2 + build: hf9b8971_1005 + build_number: 1005 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/gflags-2.2.2-hf9b8971_1005.conda + sha256: fd56ed8a1dab72ab90d8a8929b6f916a6d9220ca297ff077f8f04c5ed3408e20 + md5: 57a511a5905caa37540eb914dfcbf1fb + depends: + - __osx >=11.0 + - libcxx >=17 + license: BSD-3-Clause + license_family: BSD + size: 82090 + timestamp: 1726600145480 +- kind: conda + name: glog + version: 0.7.1 + build: h468a4a4_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/glog-0.7.1-h468a4a4_0.conda + sha256: 920795d4f775a9f47e91c2223e64847f0b212b3fedc56c137c5889e32efe8ba0 + md5: 08940a32c6ced3703d1412dd37df4f62 + depends: + - gflags >=2.2.2,<2.3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 145811 + timestamp: 1718284208668 +- kind: conda + name: glog + version: 0.7.1 + build: hbabe93e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/glog-0.7.1-hbabe93e_0.conda + sha256: dc824dc1d0aa358e28da2ecbbb9f03d932d976c8dca11214aa1dcdfcbd054ba2 + md5: ff862eebdfeb2fd048ae9dc92510baca + depends: + - gflags >=2.2.2,<2.3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 143452 + timestamp: 1718284177264 +- kind: conda + name: glog + version: 0.7.1 + build: heb240a5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/glog-0.7.1-heb240a5_0.conda + sha256: 9fc77de416953aa959039db72bc41bfa4600ae3ff84acad04a7d0c1ab9552602 + md5: fef68d0a95aa5b84b5c1a4f6f3bf40e1 + depends: + - __osx >=11.0 + - gflags >=2.2.2,<2.3.0a0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + size: 112215 + timestamp: 1718284365403 +- kind: conda + name: googleapis-common-protos + version: 1.65.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/googleapis-common-protos-1.65.0-pyhd8ed1ab_0.conda + sha256: 093e899196b6bedb761c707677a3bc7161a04371084eb26f489327e8aa8d6f25 + md5: f5bdd5dd4ad1fd075a6f25670bdda1b6 + depends: + - protobuf >=3.20.2,<6.0.0.dev0,!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5 + - python >=3.7 + license: Apache-2.0 + license_family: APACHE + size: 115834 + timestamp: 1724834348732 +- kind: conda + name: h11 + version: 0.14.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + sha256: 817d2c77d53afe3f3d9cf7f6eb8745cdd8ea76c7adaa9d7ced75c455a2c2c085 + md5: b21ed0883505ba1910994f1df031a428 + depends: + - python >=3 + - typing_extensions + license: MIT + license_family: MIT + size: 48251 + timestamp: 1664132995560 +- kind: conda + name: h2 + version: 4.1.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + sha256: bfc6a23849953647f4e255c782e74a0e18fe16f7e25c7bb0bc57b83bb6762c7a + md5: b748fbf7060927a6e82df7cb5ee8f097 + depends: + - hpack >=4.0,<5 + - hyperframe >=6.0,<7 + - python >=3.6.1 + license: MIT + license_family: MIT + size: 46754 + timestamp: 1634280590080 +- kind: conda + name: hpack + version: 4.0.0 + build: pyh9f0ad1d_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + sha256: 5dec948932c4f740674b1afb551223ada0c55103f4c7bf86a110454da3d27cb8 + md5: 914d6646c4dbb1fd3ff539830a12fd71 + depends: + - python + license: MIT + license_family: MIT + size: 25341 + timestamp: 1598856368685 +- kind: conda + name: httpcore + version: 1.0.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.6-pyhd8ed1ab_0.conda + sha256: 8952c3f1eb18bf4d7e813176c3b23e0af4e863e8b05087e73f74f371d73077ca + md5: b8e1901ef9a215fc41ecfb6bef7e0943 + depends: + - anyio >=3.0,<5.0 + - certifi + - h11 >=0.13,<0.15 + - h2 >=3,<5 + - python >=3.8 + - sniffio 1.* + license: BSD-3-Clause + license_family: BSD + size: 45711 + timestamp: 1727821031365 +- kind: conda + name: httptools + version: 0.6.1 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/httptools-0.6.1-py312h024a12e_1.conda + sha256: a17d6d925de085b967ee1e44572ccfbb2c109aec1ccc4e6723acd7474c57eeeb + md5: c5c8dfe36db20180a8c7e49049377857 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 77287 + timestamp: 1726688371563 +- kind: conda + name: httptools + version: 0.6.1 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/httptools-0.6.1-py312h66e93f0_1.conda + sha256: 07d129a180564051547be7b17140c5a7d4789ba8b0404842328cc638615bbe81 + md5: e9060bac59733da8b5d8c6156b51fbcf + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 93588 + timestamp: 1726688214856 +- kind: conda + name: httptools + version: 0.6.1 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/httptools-0.6.1-py312hb2c0f52_1.conda + sha256: bcd6227032316b69494f15ebc5c81f8670efcb2aa1cadf7c754e38a1a80811c5 + md5: 91dc2737602f681a4679b8b4022b122e + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 92683 + timestamp: 1726688399611 +- kind: conda + name: httpx + version: 0.27.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + sha256: 1a33f160548bf447e15c0273899d27e4473f1d5b7ca1441232ec2d9d07c56d03 + md5: 7e9ac3faeebdbd7b53b462c41891e7f7 + depends: + - anyio + - certifi + - httpcore 1.* + - idna + - python >=3.8 + - sniffio + license: BSD-3-Clause + license_family: BSD + size: 65085 + timestamp: 1724778453275 +- kind: conda + name: huggingface_hub + version: 0.26.2 + build: pyh0610db2_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/huggingface_hub-0.26.2-pyh0610db2_0.conda + sha256: fad5da1b0a0899dfb4d59bb4a4e4b58bade677ad44332beb608020e55f1bea53 + md5: a7344f1612e61d1e1dcc90c758f71f8f + depends: + - filelock + - fsspec >=2023.5.0 + - packaging >=20.9 + - python >=3.8 + - pyyaml >=5.1 + - requests + - tqdm >=4.42.1 + - typing-extensions >=3.7.4.3 + - typing_extensions >=3.7.4.3 + license: Apache-2.0 + license_family: APACHE + size: 274216 + timestamp: 1730211995421 +- kind: conda + name: hyperframe + version: 6.0.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + sha256: e374a9d0f53149328134a8d86f5d72bca4c6dcebed3c0ecfa968c02996289330 + md5: 9f765cbfab6870c8435b9eefecd7a1f4 + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 14646 + timestamp: 1619110249723 +- kind: conda + name: icu + version: '75.1' + build: hf9b3779_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda + sha256: 813298f2e54ef087dbfc9cc2e56e08ded41de65cff34c639cc8ba4e27e4540c9 + md5: 268203e8b983fddb6412b36f2024e75c + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + size: 12282786 + timestamp: 1720853454991 +- kind: conda + name: icu + version: '75.1' + build: hfee45f7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 + md5: 5eb22c1d7b3fc4abb50d92d621583137 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 11857802 + timestamp: 1720853997952 +- kind: conda + name: idna + version: '3.10' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + sha256: 8c57fd68e6be5eecba4462e983aed7e85761a519aab80e834bbd7794d4b545b2 + md5: 7ba2ede0e7c795ff95088daf0dc59753 + depends: + - python >=3.6 + license: BSD-3-Clause + license_family: BSD + size: 49837 + timestamp: 1726459583613 +- kind: conda + name: importlib-metadata + version: 7.0.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.2-pyha770c72_0.conda + sha256: 9a26136d2cc81ccac209d6ae24281ceba3365fe34e34b2c45570f2a96e9d9c1b + md5: b050a4bb0e90ebd6e7fa4093d6346867 + depends: + - python >=3.8 + - zipp >=0.5 + license: Apache-2.0 + license_family: APACHE + size: 26900 + timestamp: 1709821273570 +- kind: conda + name: jinja2 + version: 3.1.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + sha256: 27380d870d42d00350d2d52598cddaf02f9505fb24be09488da0c9b8d1428f2d + md5: 7b86ecb7d3557821c649b3c31e3eb9f2 + depends: + - markupsafe >=2.0 + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 111565 + timestamp: 1715127275924 +- kind: conda + name: jupyter_client + version: 8.6.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + sha256: 4419c85e209a715f551a5c9bead746f29ee9d0fc41e772a76db3868622795671 + md5: a14218cfb29662b4a19ceb04e93e298e + depends: + - importlib-metadata >=4.8.3 + - jupyter_core >=4.12,!=5.0.* + - python >=3.8 + - python-dateutil >=2.8.2 + - pyzmq >=23.0 + - tornado >=6.2 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 106055 + timestamp: 1726610805505 +- kind: conda + name: jupyter_core + version: 5.7.2 + build: pyh31011fe_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.7.2-pyh31011fe_1.conda + sha256: 732b1e8536bc22a5a174baa79842d79db2f4956d90293dd82dc1b3f6099bcccd + md5: 0a2980dada0dd7fd0998f0342308b1b1 + depends: + - __unix + - platformdirs >=2.5 + - python >=3.8 + - traitlets >=5.3 + license: BSD-3-Clause + license_family: BSD + size: 57671 + timestamp: 1727163547058 +- kind: conda + name: keyutils + version: 1.6.1 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb + md5: 30186d27e2c9fa62b45fb1476b7200e3 + depends: + - libgcc-ng >=10.3.0 + license: LGPL-2.1-or-later + size: 117831 + timestamp: 1646151697040 +- kind: conda + name: keyutils + version: 1.6.1 + build: h4e544f5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.1-h4e544f5_0.tar.bz2 + sha256: 6d4233d97a9b38acbb26e1268bcf8c10a8e79c2aed7e5a385ec3769967e3e65b + md5: 1f24853e59c68892452ef94ddd8afd4b + depends: + - libgcc-ng >=10.3.0 + license: LGPL-2.1-or-later + size: 112327 + timestamp: 1646166857935 +- kind: conda + name: krb5 + version: 1.21.3 + build: h237132a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + sha256: 4442f957c3c77d69d9da3521268cad5d54c9033f1a73f99cde0a3658937b159b + md5: c6dc8a0fdec13a0565936655c33069a1 + depends: + - __osx >=11.0 + - libcxx >=16 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1155530 + timestamp: 1719463474401 +- kind: conda + name: krb5 + version: 1.21.3 + build: h50a48e9_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.21.3-h50a48e9_0.conda + sha256: 0ec272afcf7ea7fbf007e07a3b4678384b7da4047348107b2ae02630a570a815 + md5: 29c10432a2ca1472b53f299ffb2ffa37 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1474620 + timestamp: 1719463205834 +- kind: conda + name: krb5 + version: 1.21.3 + build: h659f571_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + size: 1370023 + timestamp: 1719463201255 +- kind: conda + name: ld_impl_linux-64 + version: '2.43' + build: h712a8e2_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda + sha256: 7c91cea91b13f4314d125d1bedb9d03a29ebbd5080ccdea70260363424646dbe + md5: 048b02e3962f066da18efe3a21b77672 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - binutils_impl_linux-64 2.43 + license: GPL-3.0-only + license_family: GPL + size: 669211 + timestamp: 1729655358674 +- kind: conda + name: ld_impl_linux-aarch64 + version: '2.43' + build: h80caac9_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.43-h80caac9_2.conda + sha256: 80ec7e8f006196808fac5bd4b3773a652847f97bbf08044cd87731424ac64f8b + md5: fcbde5ea19d55468953bf588770c0501 + constrains: + - binutils_impl_linux-aarch64 2.43 + license: GPL-3.0-only + license_family: GPL + size: 698245 + timestamp: 1729655345825 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_h00cdb27_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20240116.2-cxx17_h00cdb27_1.conda + sha256: a9517c8683924f4b3b9380cdaa50fdd2009cd8d5f3918c92f64394238189d3cb + md5: f16963d88aed907af8b90878b8d8a05c + depends: + - __osx >=11.0 + - libcxx >=16 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1136123 + timestamp: 1720857649214 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_h0a1ffab_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20240116.2-cxx17_h0a1ffab_1.conda + sha256: a6e1a6f13fd49c24238373838c266101a2bf3b521b0a36a3a7e586b40f50ec5b + md5: 9cadd103cf89edb2ea68d33728511158 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1283386 + timestamp: 1720857389114 +- kind: conda + name: libabseil + version: '20240116.2' + build: cxx17_he02047a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_he02047a_1.conda + sha256: 945396726cadae174a661ce006e3f74d71dbd719219faf7cc74696b267f7b0b5 + md5: c48fc56ec03229f294176923c3265c05 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - abseil-cpp =20240116.2 + - libabseil-static =20240116.2=cxx17* + license: Apache-2.0 + license_family: Apache + size: 1264712 + timestamp: 1720857377573 +- kind: conda + name: libarrow + version: 17.0.0 + build: had3b6fe_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-17.0.0-had3b6fe_16_cpu.conda + sha256: 9aa5598878cccc29de744ebc4b501c4a5a43332973edfdf0a19ddc521bd7248f + md5: c899e532e16be21570d32bc74ea3d34f + depends: + - __glibc >=2.17,<3.0.a0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - gflags >=2.2.2,<2.3.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libgcc >=13 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx >=13 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - parquet-cpp <0.0a0 + - arrow-cpp <0.0a0 + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 8495428 + timestamp: 1726669963852 +- kind: conda + name: libarrow + version: 17.0.0 + build: hc6a7651_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-17.0.0-hc6a7651_16_cpu.conda + sha256: 1facd5aa7140031be0f68733ab5e413ea1505da40548e27a173b2407046f36b5 + md5: 05fecc4ae5930dc548327980a4bc7a83 + depends: + - __osx >=11.0 + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libcxx >=17 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 5318871 + timestamp: 1726669928492 +- kind: conda + name: libarrow + version: 17.0.0 + build: hccffc7f_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-17.0.0-hccffc7f_16_cpu.conda + sha256: b71e81d0a685ad5832df0c1762d613be82d14a165e984621e0c874cd885a5df4 + md5: adc3e7dd910df20ef4a968f09fe90da0 + depends: + - aws-crt-cpp >=0.28.3,<0.28.4.0a0 + - aws-sdk-cpp >=1.11.407,<1.11.408.0a0 + - azure-core-cpp >=1.13.0,<1.13.1.0a0 + - azure-identity-cpp >=1.8.0,<1.8.1.0a0 + - azure-storage-blobs-cpp >=12.12.0,<12.12.1.0a0 + - azure-storage-files-datalake-cpp >=12.11.0,<12.11.1.0a0 + - bzip2 >=1.0.8,<2.0a0 + - gflags >=2.2.2,<2.3.0a0 + - glog >=0.7.1,<0.8.0a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libbrotlidec >=1.1.0,<1.2.0a0 + - libbrotlienc >=1.1.0,<1.2.0a0 + - libgcc >=13 + - libgoogle-cloud >=2.29.0,<2.30.0a0 + - libgoogle-cloud-storage >=2.29.0,<2.30.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx >=13 + - libutf8proc >=2.8.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - orc >=2.0.2,<2.0.3.0a0 + - re2 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - apache-arrow-proc =*=cpu + - arrow-cpp <0.0a0 + - parquet-cpp <0.0a0 + license: Apache-2.0 + license_family: APACHE + size: 7818979 + timestamp: 1726670314145 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: h5888daf_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-acero-17.0.0-h5888daf_16_cpu.conda + sha256: 0ff4c712c7c61e60708c6ef4f8158200059e0f63c25d0a54c8e4cca7bd153d86 + md5: 18f796aae018a26a20ac51d19de69115 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 608267 + timestamp: 1726669999941 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: h5ad3122_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-acero-17.0.0-h5ad3122_16_cpu.conda + sha256: be9f73a92a00d991cc5946705c83c7b449f8cea6709ad29a2e05d6db7beb4b54 + md5: 0913ad25f0ebb327458c25d38bf9cf45 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 573902 + timestamp: 1726670347811 +- kind: conda + name: libarrow-acero + version: 17.0.0 + build: hf9b8971_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-acero-17.0.0-hf9b8971_16_cpu.conda + sha256: c9ff43babc0acbd864584ed1720cf063715589e31e9e2024b90d2094d4f20d38 + md5: 319bd2a8c30dffa54d6ad69847f16de1 + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libcxx >=17 + license: Apache-2.0 + license_family: APACHE + size: 483187 + timestamp: 1726670022814 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: h5888daf_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-dataset-17.0.0-h5888daf_16_cpu.conda + sha256: e500e0154cf3ebb41bed3bdf41bd0ff5e0a6b7527a46ba755c05e59c8036e442 + md5: 5400efd6bf101674e0ce170906a0f7cb + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libarrow-acero 17.0.0 h5888daf_16_cpu + - libgcc >=13 + - libparquet 17.0.0 h39682fd_16_cpu + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 585061 + timestamp: 1726670063965 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: h5ad3122_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-dataset-17.0.0-h5ad3122_16_cpu.conda + sha256: 276af4de42960692a2ee34630659be11eb1e83552ec4752d59cc96e244382560 + md5: 2dc1bbff088399cca7137501cef4a741 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libarrow-acero 17.0.0 h5ad3122_16_cpu + - libgcc >=13 + - libparquet 17.0.0 h501616e_16_cpu + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 558058 + timestamp: 1726670424141 +- kind: conda + name: libarrow-dataset + version: 17.0.0 + build: hf9b8971_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-dataset-17.0.0-hf9b8971_16_cpu.conda + sha256: e77d3c6825384c232f61fd3602a32507b66410dbe8879cd69a89b0fc49489533 + md5: 67ea0ef775de4c394c3c7db991297ffa + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libarrow-acero 17.0.0 hf9b8971_16_cpu + - libcxx >=17 + - libparquet 17.0.0 hf0ba9ef_16_cpu + license: Apache-2.0 + license_family: APACHE + size: 491606 + timestamp: 1726671006156 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: h08b7278_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libarrow-substrait-17.0.0-h08b7278_16_cpu.conda + sha256: 8f4179180db0ab8b7e759699e40533d893082e4556d2d6b81b20224e60312fa9 + md5: c677e8946781fd3b57ef3b8b1b883f4d + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 hccffc7f_16_cpu + - libarrow-acero 17.0.0 h5ad3122_16_cpu + - libarrow-dataset 17.0.0 h5ad3122_16_cpu + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 537621 + timestamp: 1726670458067 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: hbf8b706_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarrow-substrait-17.0.0-hbf8b706_16_cpu.conda + sha256: 6880b3c8fb88ee6c0bbae34b0efea86567ccec1b8cd8a3662b8b8c6dfeb5e87a + md5: b739c909163c38f85f40f5650ab2aeb2 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libarrow-acero 17.0.0 hf9b8971_16_cpu + - libarrow-dataset 17.0.0 hf9b8971_16_cpu + - libcxx >=17 + - libprotobuf >=4.25.3,<4.25.4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 472812 + timestamp: 1726671149860 +- kind: conda + name: libarrow-substrait + version: 17.0.0 + build: hf54134d_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libarrow-substrait-17.0.0-hf54134d_16_cpu.conda + sha256: 53f3d5f12c9ea557f33a4e1cf9067ce2dbb4211eff0a095574eeb7f0528bc044 + md5: 1cbc3fb1ee28c99e5f8c52920a7717a3 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libarrow-acero 17.0.0 h5888daf_16_cpu + - libarrow-dataset 17.0.0 h5888daf_16_cpu + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + size: 550960 + timestamp: 1726670093831 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-25_linux64_openblas.conda + sha256: d6d12dc437d060f838820e9e61bf73baab651f91935ac594cf10beb9ef1b4450 + md5: 8ea26d42ca88ec5258802715fe1ee10b + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - liblapack 3.9.0 25_linux64_openblas + - libcblas 3.9.0 25_linux64_openblas + - blas * openblas + - liblapacke 3.9.0 25_linux64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15677 + timestamp: 1729642900350 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.9.0-25_linuxaarch64_openblas.conda + sha256: 5c08f78312874bb61307f5ea737377df2d0f6e7f7833ded21ca58d8820c794ca + md5: f9b8a4a955ed2d0b68b1f453abcc1c9e + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - liblapack 3.9.0 25_linuxaarch64_openblas + - libcblas 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15808 + timestamp: 1729643002627 +- kind: conda + name: libblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + sha256: f1fb9a11af0b2878bd8804b4c77d3733c40076218bcbdb35f575b1c0c9fddf11 + md5: f8cf4d920ff36ce471619010eff59cac + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15913 + timestamp: 1729643265495 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.1.0-h86ecc28_2.conda + sha256: 64112af913974b309d67fd342e065fd184347043a6387933b3db796778a28019 + md5: 3ee026955c688f551a9999840cff4c67 + depends: + - libgcc >=13 + license: MIT + license_family: MIT + size: 68982 + timestamp: 1725267774142 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hb9d3cd8_2.conda + sha256: d9db2de60ea917298e658143354a530e9ca5f9c63471c65cf47ab39fd2f429e3 + md5: 41b599ed2b02abcfdd84302bff174b23 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 68851 + timestamp: 1725267660471 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.1.0-hd74edd7_2.conda + sha256: 839dacb741bdbb25e58f42088a2001b649f4f12195aeb700b5ddfca3267749e5 + md5: d0bf1dff146b799b319ea0434b93f779 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 68426 + timestamp: 1725267943211 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.1.0-h86ecc28_2.conda + sha256: 94c808d9ca3eb6ef30976a9843e27f027cf3a1e84e8c6835cbb696b7bdb35c4c + md5: e64d0f3b59c7c4047446b97a8624a72d + depends: + - libbrotlicommon 1.1.0 h86ecc28_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 31708 + timestamp: 1725267783442 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hb9d3cd8_2.conda + sha256: 2892d512cad096cb03f1b66361deeab58b64e15ba525d6592bb6d609e7045edf + md5: 9566f0bd264fbd463002e759b8a82401 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 32696 + timestamp: 1725267669305 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.1.0-hd74edd7_2.conda + sha256: 6c6862eb274f21a7c0b60e5345467a12e6dda8b9af4438c66d496a2c1a538264 + md5: 55e66e68ce55523a6811633dd1ac74e2 + depends: + - __osx >=11.0 + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 28378 + timestamp: 1725267980316 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.1.0-h86ecc28_2.conda + sha256: 41385e17bc73834b235c5aff12d6d82eccb534acb3c30986996f9dad92a0d54c + md5: 0e9bd365480c72b25c71a448257b537d + depends: + - libbrotlicommon 1.1.0 h86ecc28_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 290230 + timestamp: 1725267792697 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hb9d3cd8_2.conda + sha256: 779f58174e99de3600e939fa46eddb453ec5d3c60bb46cdaa8b4c127224dbf29 + md5: 06f70867945ea6a84d35836af780f1de + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.1.0 hb9d3cd8_2 + - libgcc >=13 + license: MIT + license_family: MIT + size: 281750 + timestamp: 1725267679782 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: hd74edd7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlienc-1.1.0-hd74edd7_2.conda + sha256: eeb1eb0d58b9d02bc1b98dc0a058f104ab168eb2f7d1c7bfa0570a12cfcdb7b7 + md5: 4f3a434504c67b2c42565c0b85c1885c + depends: + - __osx >=11.0 + - libbrotlicommon 1.1.0 hd74edd7_2 + license: MIT + license_family: MIT + size: 279644 + timestamp: 1725268003553 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-25_linux64_openblas.conda + sha256: ab87b0477078837c91d9cda62a9faca18fba7c57cc77aa779ae24b3ac783b5dd + md5: 5dbd1b0fc0d01ec5e0e1fbe667281a11 + depends: + - libblas 3.9.0 25_linux64_openblas + constrains: + - liblapack 3.9.0 25_linux64_openblas + - blas * openblas + - liblapacke 3.9.0 25_linux64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15613 + timestamp: 1729642905619 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.9.0-25_linuxaarch64_openblas.conda + sha256: fde797e5528040fed0e9228dd75331be0cf5cbb0bc63641f53c3cca9eb86ec16 + md5: db6af51123c67814572a8c25542cb368 + depends: + - libblas 3.9.0 25_linuxaarch64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - liblapack 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15700 + timestamp: 1729643006729 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + sha256: d9fa5b6b11252132a3383bbf87bd2f1b9d6248bef1b7e113c2a8ae41b0376218 + md5: 4df0fae81f0b5bf47d48c882b086da11 + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15837 + timestamp: 1729643270793 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: h01db608_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcrc32c-1.1.2-h01db608_0.tar.bz2 + sha256: b8b8c57a87da86b3ea24280fd6aa8efaf92f4e684b606bf2db5d3cb06ffbe2ea + md5: 268ee639c17ada0002fb04dd21816cc2 + depends: + - libgcc-ng >=9.4.0 + - libstdcxx-ng >=9.4.0 + license: BSD-3-Clause + license_family: BSD + size: 18669 + timestamp: 1633683724891 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: h9c3ff4c_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcrc32c-1.1.2-h9c3ff4c_0.tar.bz2 + sha256: fd1d153962764433fe6233f34a72cdeed5dcf8a883a85769e8295ce940b5b0c5 + md5: c965a5aa0d5c1c37ffc62dff36e28400 + depends: + - libgcc-ng >=9.4.0 + - libstdcxx-ng >=9.4.0 + license: BSD-3-Clause + license_family: BSD + size: 20440 + timestamp: 1633683576494 +- kind: conda + name: libcrc32c + version: 1.1.2 + build: hbdafb3b_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcrc32c-1.1.2-hbdafb3b_0.tar.bz2 + sha256: 58477b67cc719060b5b069ba57161e20ba69b8695d154a719cb4b60caf577929 + md5: 32bd82a6a625ea6ce090a81c3d34edeb + depends: + - libcxx >=11.1.0 + license: BSD-3-Clause + license_family: BSD + size: 18765 + timestamp: 1633683992603 +- kind: conda + name: libcurl + version: 8.10.1 + build: h13a7ad3_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.10.1-h13a7ad3_0.conda + sha256: 983a977c5627f975a930542c8aabb46089ec6ea72f28d9c4d3ee8eafaf2fc25a + md5: d84030d0863ffe7dea00b9a807fee961 + depends: + - __osx >=11.0 + - krb5 >=1.21.3,<1.22.0a0 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 379948 + timestamp: 1726660033582 +- kind: conda + name: libcurl + version: 8.10.1 + build: h3ec0cbf_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.10.1-h3ec0cbf_0.conda + sha256: 7c4983001c727f713b4448280ed4803d301087c184cd2819ba0b788ca62b73d1 + md5: f43539295c4e0cd15202d41bc72b8a26 + depends: + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 439171 + timestamp: 1726659843118 +- kind: conda + name: libcurl + version: 8.10.1 + build: hbbe4b11_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.10.1-hbbe4b11_0.conda + sha256: 54e6114dfce566c3a22ad3b7b309657e3600cdb668398e95f1301360d5d52c99 + md5: 6e801c50a40301f6978c53976917b277 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 424900 + timestamp: 1726659794676 +- kind: conda + name: libcxx + version: 19.1.3 + build: ha82da77_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + sha256: 6d062760c6439e75b9a44d800d89aff60fe3441998d87506c62dc94c50412ef4 + md5: bf691071fba4734984231617783225bc + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 520771 + timestamp: 1730314603920 +- kind: conda + name: libedit + version: 3.1.20191231 + build: hc8eb9b7_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20191231-hc8eb9b7_2.tar.bz2 + sha256: 3912636197933ecfe4692634119e8644904b41a58f30cad9d1fc02f6ba4d9fca + md5: 30e4362988a2623e9eb34337b83e01f9 + depends: + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 96607 + timestamp: 1597616630749 +- kind: conda + name: libedit + version: 3.1.20191231 + build: he28a2e2_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf + md5: 4d331e44109e3f0e19b4cb8f9b82f3e1 + depends: + - libgcc-ng >=7.5.0 + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 123878 + timestamp: 1597616541093 +- kind: conda + name: libedit + version: 3.1.20191231 + build: he28a2e2_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + sha256: debc31fb2f07ba2b0363f90e455873670734082822926ba4a9556431ec0bf36d + md5: 29371161d77933a54fccf1bb66b96529 + depends: + - libgcc-ng >=7.5.0 + - ncurses >=6.2,<7.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 134104 + timestamp: 1597617110769 +- kind: conda + name: libev + version: '4.33' + build: h31becfc_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h31becfc_2.conda + sha256: 973af77e297f1955dd1f69c2cbdc5ab9dfc88388a5576cd152cda178af0fd006 + md5: a9a13cb143bbaa477b1ebaefbe47a302 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 115123 + timestamp: 1702146237623 +- kind: conda + name: libev + version: '4.33' + build: h93a5062_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + sha256: 95cecb3902fbe0399c3a7e67a5bed1db813e5ab0e22f4023a5e0f722f2cc214f + md5: 36d33e440c31857372a72137f78bacf5 + license: BSD-2-Clause + license_family: BSD + size: 107458 + timestamp: 1702146414478 +- kind: conda + name: libev + version: '4.33' + build: hd590300_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + md5: 172bf1cd1ff8629f2b1179945ed45055 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 112766 + timestamp: 1702146165126 +- kind: conda + name: libevent + version: 2.1.12 + build: h2757513_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libevent-2.1.12-h2757513_1.conda + sha256: 8c136d7586259bb5c0d2b913aaadc5b9737787ae4f40e3ad1beaf96c80b919b7 + md5: 1a109764bff3bdc7bdd84088347d71dc + depends: + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 368167 + timestamp: 1685726248899 +- kind: conda + name: libevent + version: 2.1.12 + build: h4ba1bb4_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda + sha256: 01333cc7d6e6985dd5700b43660d90e9e58049182017fd24862088ecbe1458e4 + md5: 96ae6083cd1ac9f6bc81631ac835b317 + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 438992 + timestamp: 1685726046519 +- kind: conda + name: libevent + version: 2.1.12 + build: hf998b51_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 + md5: a1cfcc585f0c42bf8d5546bb1dfb668d + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 427426 + timestamp: 1685725977222 +- kind: conda + name: libexpat + version: 2.6.3 + build: h5888daf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda + sha256: 4bb47bb2cd09898737a5211e2992d63c555d63715a07ba56eae0aff31fb89c22 + md5: 59f4c43bb1b5ef1c71946ff2cbf59524 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 73616 + timestamp: 1725568742634 +- kind: conda + name: libexpat + version: 2.6.3 + build: h5ad3122_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.6.3-h5ad3122_0.conda + sha256: 02341c9c35128055fd404dfe675832b80f2bf9dbb99539457652c11c06e52757 + md5: 1d2b842bb76e268625e8ee8d0a9fe8c3 + depends: + - libgcc >=13 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 72342 + timestamp: 1725568840022 +- kind: conda + name: libexpat + version: 2.6.3 + build: hf9b8971_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda + sha256: 5cbe5a199fba14ade55457a468ce663aac0b54832c39aa54470b3889b4c75c4a + md5: 5f22f07c2ab2dea8c66fe9585a062c96 + depends: + - __osx >=11.0 + constrains: + - expat 2.6.3.* + license: MIT + license_family: MIT + size: 63895 + timestamp: 1725568783033 +- kind: conda + name: libffi + version: 3.4.2 + build: h3422bc3_5 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca + md5: 086914b672be056eb70fd4285b6783b6 + license: MIT + license_family: MIT + size: 39020 + timestamp: 1636488587153 +- kind: conda + name: libffi + version: 3.4.2 + build: h3557bc0_5 + build_number: 5 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.4.2-h3557bc0_5.tar.bz2 + sha256: 7e9258a102480757fe3faeb225a3ca04dffd10fecd2a958c65cdb4cdf75f2c3c + md5: dddd85f4d52121fab0a8b099c5e06501 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 59450 + timestamp: 1636488255090 +- kind: conda + name: libffi + version: 3.4.2 + build: h7f98852_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e + md5: d645c6d2ac96843a2bfaccd2d62b3ac3 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 58292 + timestamp: 1636488182923 +- kind: conda + name: libgcc + version: 14.2.0 + build: h77fa898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h77fa898_1.conda + sha256: 53eb8a79365e58849e7b1a068d31f4f9e718dc938d6f2c03e960345739a03569 + md5: 3cb76c3f10d3bc7f1105b2fc9db984df + depends: + - _libgcc_mutex 0.1 conda_forge + - _openmp_mutex >=4.5 + constrains: + - libgomp 14.2.0 h77fa898_1 + - libgcc-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 848745 + timestamp: 1729027721139 +- kind: conda + name: libgcc + version: 14.2.0 + build: he277a41_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-14.2.0-he277a41_1.conda + sha256: 5d56757ccad208c79214395b00d006d8d18929a4ba49c47bd9460789a7620943 + md5: 511b511c5445e324066c3377481bcab8 + depends: + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==14.2.0=*_1 + - libgomp 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 535243 + timestamp: 1729089435134 +- kind: conda + name: libgcc-ng + version: 14.2.0 + build: h69a702a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_1.conda + sha256: 3a76969c80e9af8b6e7a55090088bc41da4cffcde9e2c71b17f44d37b7cb87f7 + md5: e39480b9ca41323497b05492a63bc35b + depends: + - libgcc 14.2.0 h77fa898_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54142 + timestamp: 1729027726517 +- kind: conda + name: libgcc-ng + version: 14.2.0 + build: he9431aa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-14.2.0-he9431aa_1.conda + sha256: 9b5cf168a6c7361cae869cb74b716766ee7c6d6b3f6172b32ba9bf91135efdc4 + md5: 0694c249c61469f2c0f7e2990782af21 + depends: + - libgcc 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54104 + timestamp: 1729089444587 +- kind: conda + name: libgfortran + version: 5.0.0 + build: 13_2_0_hd922786_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + sha256: 44e541b4821c96b28b27fef5630883a60ce4fee91fd9c79f25a199f8f73f337b + md5: 4a55d9e169114b2b90d3ec4604cd7bbf + depends: + - libgfortran5 13.2.0 hf226fd6_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 110233 + timestamp: 1707330749033 +- kind: conda + name: libgfortran + version: 14.2.0 + build: h69a702a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda + sha256: fc9e7f22a17faf74da904ebfc4d88699013d2992e55505e4aa0eb01770290977 + md5: f1fd30127802683586f768875127a987 + depends: + - libgfortran5 14.2.0 hd5240d6_1 + constrains: + - libgfortran-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 53997 + timestamp: 1729027752995 +- kind: conda + name: libgfortran + version: 14.2.0 + build: he9431aa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-14.2.0-he9431aa_1.conda + sha256: cb66e411fa32a5c6040f4e5e2a63c00897aae4c3133a9c004c2e929ccf19575b + md5: 0294b92d2f47a240bebb1e3336b495f1 + depends: + - libgfortran5 14.2.0 hb6113d0_1 + constrains: + - libgfortran-ng ==14.2.0=*_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54105 + timestamp: 1729089471124 +- kind: conda + name: libgfortran5 + version: 13.2.0 + build: hf226fd6_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + sha256: bafc679eedb468a86aa4636061c55966186399ee0a04b605920d208d97ac579a + md5: 66ac81d54e95c534ae488726c1f698ea + depends: + - llvm-openmp >=8.0.0 + constrains: + - libgfortran 5.0.0 13_2_0_*_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 997381 + timestamp: 1707330687590 +- kind: conda + name: libgfortran5 + version: 14.2.0 + build: hb6113d0_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-14.2.0-hb6113d0_1.conda + sha256: a87ff46d19916403cbf68cf1d785bf56b4d1ab7b2552468d2ea775d70782493f + md5: fc068e11b10e18f184e027782baa12b6 + depends: + - libgcc >=14.2.0 + constrains: + - libgfortran 14.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 1102158 + timestamp: 1729089452640 +- kind: conda + name: libgfortran5 + version: 14.2.0 + build: hd5240d6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hd5240d6_1.conda + sha256: d149a37ca73611e425041f33b9d8dbed6e52ec506fe8cc1fc0ee054bddeb6d5d + md5: 9822b874ea29af082e5d36098d25427d + depends: + - libgcc >=14.2.0 + constrains: + - libgfortran 14.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 1462645 + timestamp: 1729027735353 +- kind: conda + name: libgomp + version: 14.2.0 + build: h77fa898_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h77fa898_1.conda + sha256: 1911c29975ec99b6b906904040c855772ccb265a1c79d5d75c8ceec4ed89cd63 + md5: cc3573974587f12dda90d96e3e55a702 + depends: + - _libgcc_mutex 0.1 conda_forge + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 460992 + timestamp: 1729027639220 +- kind: conda + name: libgomp + version: 14.2.0 + build: he277a41_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-14.2.0-he277a41_1.conda + sha256: 5aa53874a5e57a00f2e0c2e2910684eb674429cd5fcb803619b226a73e89aedf + md5: 376f0e73abbda6d23c0cb749adc195ef + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 463521 + timestamp: 1729089357313 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: h435de7b_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-2.29.0-h435de7b_0.conda + sha256: c8ee42a4acce5227d220ec6500f6872d52d82e478c76648b9ff57dd2d86429bd + md5: 5d95d9040c4319997644f68e9aefbe70 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libgcc >=13 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 1241649 + timestamp: 1725640926284 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: hbb89541_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-2.29.0-hbb89541_0.conda + sha256: a604681e3a6a7b6214df0406afd1a225349e9cd1f8c177826140811315a938ba + md5: a2ca6f7068595e4c3e2ee8214106786b + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libgcc >=13 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 1231400 + timestamp: 1725642021621 +- kind: conda + name: libgoogle-cloud + version: 2.29.0 + build: hfa33a2f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-2.29.0-hfa33a2f_0.conda + sha256: 1f42048702d773a355d276d24313ac63781a331959fc3662c6be36e979d7845c + md5: f78c7bd435ee45f4661daae9e81ddf13 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.9.1,<9.0a0 + - libcxx >=17 + - libgrpc >=1.62.2,<1.63.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - openssl >=3.3.2,<4.0a0 + constrains: + - libgoogle-cloud 2.29.0 *_0 + license: Apache-2.0 + license_family: Apache + size: 866727 + timestamp: 1725640714587 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: h0121fbd_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgoogle-cloud-storage-2.29.0-h0121fbd_0.conda + sha256: 2847c9e940b742275a7068e0a742bdabf211bf0b2bbb1453592d6afb47c7e17e + md5: 06dfd5208170b56eee943d9ac674a533 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=13 + - libgoogle-cloud 2.29.0 h435de7b_0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 781655 + timestamp: 1725641060970 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: h90fd6fa_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgoogle-cloud-storage-2.29.0-h90fd6fa_0.conda + sha256: ec80383fbb6fae95d2ff7d04ba46b282ab48219b7ce85b3cd5ee7d0d8bae74e1 + md5: baee0b9cb1c5319f370a534ca5a16267 + depends: + - __osx >=11.0 + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libcxx >=17 + - libgoogle-cloud 2.29.0 hfa33a2f_0 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 535346 + timestamp: 1725641618955 +- kind: conda + name: libgoogle-cloud-storage + version: 2.29.0 + build: hb9b2b65_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgoogle-cloud-storage-2.29.0-hb9b2b65_0.conda + sha256: d477736704021486ffde0b117290d8c1f29a434f02ab9a21d4458e41212c448f + md5: 5f75545cfccc08fb2f79256e0b8a2fb6 + depends: + - libabseil + - libcrc32c >=1.1.2,<1.2.0a0 + - libcurl + - libgcc >=13 + - libgoogle-cloud 2.29.0 hbb89541_0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl + license: Apache-2.0 + license_family: Apache + size: 736327 + timestamp: 1725642186647 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h15f2491_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda + sha256: 28241ed89335871db33cb6010e9ccb2d9e9b6bb444ddf6884f02f0857363c06a + md5: 8dabe607748cb3d7002ad73cd06f1325 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 7316832 + timestamp: 1713390645548 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h98a9317_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libgrpc-1.62.2-h98a9317_0.conda + sha256: ae5fe7ba0c5c599f0e20fa08be436518b7ef25ab6f705e8c7fcf0d0f34525f72 + md5: 2a669953ec0f08c2cc56bb43fed78de8 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 7395259 + timestamp: 1713390742813 +- kind: conda + name: libgrpc + version: 1.62.2 + build: h9c18a4f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgrpc-1.62.2-h9c18a4f_0.conda + sha256: d2c5b5a828f6f1242c11e8c91968f48f64446f7dd5cbfa1197545e465eb7d47a + md5: e624fc11026dbb84c549435eccd08623 + depends: + - c-ares >=1.28.1,<2.0a0 + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libcxx >=16 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libre2-11 >=2023.9.1 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.1,<4.0a0 + - re2 + constrains: + - grpc-cpp =1.62.2 + license: Apache-2.0 + license_family: APACHE + size: 5016525 + timestamp: 1713392846329 +- kind: conda + name: libiconv + version: '1.17' + build: h0d3ecfb_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + sha256: bc7de5097b97bcafcf7deaaed505f7ce02f648aac8eccc0d5a47cc599a1d0304 + md5: 69bda57310071cf6d2b86caf11573d2d + license: LGPL-2.1-only + size: 676469 + timestamp: 1702682458114 +- kind: conda + name: libiconv + version: '1.17' + build: h31becfc_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.17-h31becfc_2.conda + sha256: a30e09d089cb75a0d5b8e5c354694c1317da98261185ed65aa3793e741060614 + md5: 9a8eb13f14de7d761555a98712e6df65 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + size: 705787 + timestamp: 1702684557134 +- kind: conda + name: libiconv + version: '1.17' + build: hd590300_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda + sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9 + md5: d66573916ffcf376178462f1b61c941e + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + size: 705775 + timestamp: 1702682170569 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_linux64_openblas + build_number: 25 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-25_linux64_openblas.conda + sha256: 9d1ff017714edb2d84868f0f931a4a0e7c289a971062b2ac66cfc8145df7e20e + md5: 4dc03a53fc69371a6158d0ed37214cd3 + depends: + - libblas 3.9.0 25_linux64_openblas + constrains: + - liblapacke 3.9.0 25_linux64_openblas + - libcblas 3.9.0 25_linux64_openblas + - blas * openblas + license: BSD-3-Clause + license_family: BSD + size: 15608 + timestamp: 1729642910812 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_linuxaarch64_openblas + build_number: 25 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.9.0-25_linuxaarch64_openblas.conda + sha256: 2b399e65e0338bf249657b98333e910cd7086ea1332d4d6f303735883ca49318 + md5: 0eb74e81de46454960bde9e44e7ee378 + depends: + - libblas 3.9.0 25_linuxaarch64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_linuxaarch64_openblas + - libcblas 3.9.0 25_linuxaarch64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15711 + timestamp: 1729643010817 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + sha256: fdd742407672a9af20e70764550cf18b3ab67f12e48bf04163b90492fbc401e7 + md5: 19bbddfec972d401838330453186108d + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + size: 15823 + timestamp: 1729643275943 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: h161d5f1_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.64.0-h161d5f1_0.conda + sha256: b0f2b3695b13a989f75d8fd7f4778e1c7aabe3b36db83f0fe80b2cd812c0e975 + md5: 19e57602824042dfd0446292ef90488b + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.32.3,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 647599 + timestamp: 1729571887612 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: h6d7220d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + sha256: 00cc685824f39f51be5233b54e19f45abd60de5d8847f1a56906f8936648b72f + md5: 3408c02539cee5f1141f9f11450b6a51 + depends: + - __osx >=11.0 + - c-ares >=1.34.2,<2.0a0 + - libcxx >=17 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 566719 + timestamp: 1729572385640 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: hc8609a4_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.64.0-hc8609a4_0.conda + sha256: c093c6d370aadbf0409c20b6c54c488ee2f6fea976181919fcc63e87ee232673 + md5: f52c614fa214a8bedece9421c771670d + depends: + - c-ares >=1.32.3,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + size: 714610 + timestamp: 1729571912479 +- kind: conda + name: libnsl + version: 2.0.1 + build: h31becfc_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h31becfc_0.conda + sha256: fd18c2b75d7411096428d36a70b36b1a17e31f7b8956b6905d145792d49e97f8 + md5: c14f32510f694e3185704d89967ec422 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + size: 34501 + timestamp: 1697358973269 +- kind: conda + name: libnsl + version: 2.0.1 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6 + md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + size: 33408 + timestamp: 1697359010159 +- kind: conda + name: libopenblas + version: 0.3.28 + build: openmp_hf332438_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + sha256: 62bb669c37a845129096f73d446cdb6bb170e4927f2fea2b661329680dbbc373 + md5: 40803a48d947c8639da6704e9a44d3ce + depends: + - __osx >=11.0 + - libgfortran 5.* + - libgfortran5 >=13.2.0 + - llvm-openmp >=18.1.8 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 4165774 + timestamp: 1730772154295 +- kind: conda + name: libopenblas + version: 0.3.28 + build: pthreads_h94d23a6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + sha256: 99ba271d8a80a1af2723f2e124ffd91d850074c0389c067e6d96d72a2dbfeabe + md5: 62857b389e42b36b686331bec0922050 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 5578513 + timestamp: 1730772671118 +- kind: conda + name: libopenblas + version: 0.3.28 + build: pthreads_h9d3fd7e_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.28-pthreads_h9d3fd7e_1.conda + sha256: 30623a40764e935aa77e0d4db54c1a1589189a9bf3a03fdb445505c1e319b5a6 + md5: e8dde93dd199da3c1f2c1fcfd0042cd4 + depends: + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + size: 4793435 + timestamp: 1730773029647 +- kind: conda + name: libparquet + version: 17.0.0 + build: h39682fd_16_cpu + build_number: 16 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libparquet-17.0.0-h39682fd_16_cpu.conda + sha256: 09bc64111e5e1e9f5fee78efdd62592e01c681943fe6e91b369f6580dc8726c4 + md5: dd1fee2da0659103080fdd74004656df + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0 had3b6fe_16_cpu + - libgcc >=13 + - libstdcxx >=13 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1186069 + timestamp: 1726670048098 +- kind: conda + name: libparquet + version: 17.0.0 + build: h501616e_16_cpu + build_number: 16 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libparquet-17.0.0-h501616e_16_cpu.conda + sha256: 7d834aec3ee3cc1069bd780862bbb0f339265e2386692252f375c1e380bc8f5f + md5: 0f366d30bc01ea47e04b7034d408d6d4 + depends: + - libarrow 17.0.0 hccffc7f_16_cpu + - libgcc >=13 + - libstdcxx >=13 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 1104185 + timestamp: 1726670404384 +- kind: conda + name: libparquet + version: 17.0.0 + build: hf0ba9ef_16_cpu + build_number: 16 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libparquet-17.0.0-hf0ba9ef_16_cpu.conda + sha256: 6ed28f06409b02a9f521ee5e8cf2f4d3fb63a7633c11f2ee7ec2880e78e184e5 + md5: 517ecf2ee0c2822e6120c258f3acd383 + depends: + - __osx >=11.0 + - libarrow 17.0.0 hc6a7651_16_cpu + - libcxx >=17 + - libthrift >=0.20.0,<0.20.1.0a0 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 873007 + timestamp: 1726670938318 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hc39d83c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libprotobuf-4.25.3-hc39d83c_1.conda + sha256: f51bde2dfe73968ab3090c1098f520b65a8d8f11e945cb13bf74d19e30966b61 + md5: fa77986d9170450c014586ab87e144f8 + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcxx >=17 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2177164 + timestamp: 1727160770879 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hd5b35b9_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.3-hd5b35b9_1.conda + sha256: 8b5e4e31ed93bf36fd14e9cf10cd3af78bb9184d0f1f87878b8d28c0374aa4dc + md5: 06def97690ef90781a91b786cb48a0a9 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2883090 + timestamp: 1727161327039 +- kind: conda + name: libprotobuf + version: 4.25.3 + build: hea2c3fa_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-4.25.3-hea2c3fa_1.conda + sha256: dabf4632d39b29444d157c226f4df146fa347c82540c39bf6f9545f2a7d0f40c + md5: c06acb4f972c516696590e6d6ffb69c7 + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2613905 + timestamp: 1727160673211 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h5a48ba9_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2023.09.01-h5a48ba9_2.conda + sha256: 3f3c65fe0e9e328b4c1ebc2b622727cef3e5b81b18228cfa6cf0955bc1ed8eff + md5: 41c69fba59d495e8cf5ffda48a607e35 + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 232603 + timestamp: 1708946763521 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h7b2c953_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libre2-11-2023.09.01-h7b2c953_2.conda + sha256: c8a0a6e7a627dc9c66ffb8858f8f6d499f67fd269b6636b25dc5169760610f05 + md5: 0b7b2ced046d6b5fe6e9d46b1ee0324c + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libcxx >=16 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 171443 + timestamp: 1708947163461 +- kind: conda + name: libre2-11 + version: 2023.09.01 + build: h9d008c2_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libre2-11-2023.09.01-h9d008c2_2.conda + sha256: 1da5cfd57091a52c822ec9580694f1e07817e53db43b0407a477daa2d2a16fcd + md5: 387c114aadcaeb02210f646c4b5efca2 + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - re2 2023.09.01.* + license: BSD-3-Clause + license_family: BSD + size: 217529 + timestamp: 1708946830978 +- kind: conda + name: libsodium + version: 1.0.20 + build: h4ab18f5_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + sha256: 0105bd108f19ea8e6a78d2d994a6d4a8db16d19a41212070d2d1d48a63c34161 + md5: a587892d3c13b6621a6091be690dbca2 + depends: + - libgcc-ng >=12 + license: ISC + size: 205978 + timestamp: 1716828628198 +- kind: conda + name: libsodium + version: 1.0.20 + build: h68df207_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.20-h68df207_0.conda + sha256: 448df5ea3c5cf1af785aad46858d7a5be0522f4234a4dc9bb764f4d11ff3b981 + md5: 2e4a8f23bebdcb85ca8e5a0fbe75666a + depends: + - libgcc-ng >=12 + license: ISC + size: 177394 + timestamp: 1716828514515 +- kind: conda + name: libsodium + version: 1.0.20 + build: h99b78c6_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.20-h99b78c6_0.conda + sha256: fade8223e1e1004367d7101dd17261003b60aa576df6d7802191f8972f7470b1 + md5: a7ce36e284c5faaf93c220dfc39e3abd + depends: + - __osx >=11.0 + license: ISC + size: 164972 + timestamp: 1716828607917 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hadc24fc_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + sha256: 8a9aadf996a2399f65b679c6e7f29139d5059f699c63e6d7b50e20db10c00508 + md5: b6f02b52a174e612e89548f4663ce56a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 875349 + timestamp: 1730208050020 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hbaaea75_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e + md5: 07a14fbe439eef078cc479deca321161 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 837683 + timestamp: 1730208293578 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hc4a20ef_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.47.0-hc4a20ef_1.conda + sha256: 73e143fdb966b61cd25ab804d416d87dfce43ac684e0fac3ad8b1450796331ab + md5: a6b185aac10d08028340858f77231b23 + depends: + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + size: 1041855 + timestamp: 1730208187962 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h0841786_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d + md5: 1f5a58e686b13bcfde88b93f547d23fe + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 271133 + timestamp: 1685837707056 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h492db2e_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.0-h492db2e_0.conda + sha256: 409163dd4a888b9266369f1bce57b5ca56c216e34249637c3e10eb404e356171 + md5: 45532845e121677ad328c9af9953f161 + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 284335 + timestamp: 1685837600415 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h7a5bd25_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.0-h7a5bd25_0.conda + sha256: bb57d0c53289721fff1eeb3103a1c6a988178e88d8a8f4345b0b91a35f0e0015 + md5: 029f7dc931a3b626b94823bc77830b01 + depends: + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 255610 + timestamp: 1685837894256 +- kind: conda + name: libstdcxx + version: 14.2.0 + build: h3f4de04_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-14.2.0-h3f4de04_1.conda + sha256: 519556d2c93f1b487091ce046d62e762286177f4a670ec10e16005177d0bcab3 + md5: 37f489acd39e22b623d2d1e5ac6d195c + depends: + - libgcc 14.2.0 he277a41_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3816794 + timestamp: 1729089463404 +- kind: conda + name: libstdcxx + version: 14.2.0 + build: hc0a3c3a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda + sha256: 4661af0eb9bdcbb5fb33e5d0023b001ad4be828fccdcc56500059d56f9869462 + md5: 234a5554c53625688d51062645337328 + depends: + - libgcc 14.2.0 h77fa898_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3893695 + timestamp: 1729027746910 +- kind: conda + name: libstdcxx-ng + version: 14.2.0 + build: h4852527_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda + sha256: 25bb30b827d4f6d6f0522cc0579e431695503822f144043b93c50237017fffd8 + md5: 8371ac6457591af2cf6159439c1fd051 + depends: + - libstdcxx 14.2.0 hc0a3c3a_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54105 + timestamp: 1729027780628 +- kind: conda + name: libstdcxx-ng + version: 14.2.0 + build: hf1166c9_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-14.2.0-hf1166c9_1.conda + sha256: 9f97461bd55a2745a7a0941f3502a047f15bfe7bb2952dc7fb204b3202f866fd + md5: 0e75771b8a03afae5a2c6ce71bc733f5 + depends: + - libstdcxx 14.2.0 h3f4de04_1 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 54133 + timestamp: 1729089498541 +- kind: conda + name: libthrift + version: 0.20.0 + build: h0e7cc3e_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libthrift-0.20.0-h0e7cc3e_1.conda + sha256: 3e70dfda31a3ce28310c86cc0001f20abb78c917502e12c94285a1337fe5b9f0 + md5: d0ed81c4591775b70384f4cc78e05cd1 + depends: + - __glibc >=2.17,<3.0.a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc-ng >=13 + - libstdcxx-ng >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 417404 + timestamp: 1724652349098 +- kind: conda + name: libthrift + version: 0.20.0 + build: h154c74f_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libthrift-0.20.0-h154c74f_1.conda + sha256: 283a6fbac3e6de97f25144306fb46dc5f6d6fc7f4052a4f8ec6da0cb806025b5 + md5: c0bd829d4ef1b1be0c5b8bf206c0cd6d + depends: + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc-ng >=13 + - libstdcxx-ng >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 408434 + timestamp: 1724652544563 +- kind: conda + name: libthrift + version: 0.20.0 + build: h64651cc_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libthrift-0.20.0-h64651cc_1.conda + sha256: b6afcbc934258e0474e0f1059bc7b23865723b902062f2f2910e0370e6495401 + md5: 4cf2e5233320648397184415f380c891 + depends: + - __osx >=11.0 + - libcxx >=17 + - libevent >=2.1.12,<2.1.13.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.1,<4.0a0 + license: Apache-2.0 + license_family: APACHE + size: 315041 + timestamp: 1724657608736 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libutf8proc-2.8.0-h166bdaf_0.tar.bz2 + sha256: 49082ee8d01339b225f7f8c60f32a2a2c05fe3b16f31b554b4fb2c1dea237d1c + md5: ede4266dc02e875fe1ea77b25dd43747 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 101070 + timestamp: 1667316029302 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h1a8c8d9_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libutf8proc-2.8.0-h1a8c8d9_0.tar.bz2 + sha256: a3faddac08efd930fa3a1cc254b5053b4ed9428c49a888d437bf084d403c931a + md5: f8c9c41a122ab3abdf8943b13f4957ee + license: MIT + license_family: MIT + size: 103492 + timestamp: 1667316405233 +- kind: conda + name: libutf8proc + version: 2.8.0 + build: h4e544f5_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libutf8proc-2.8.0-h4e544f5_0.tar.bz2 + sha256: c1956b64ad9613c66cf87398f5e2c36d071034a93892da7e8cc22e75cface878 + md5: bf0defbd8ac06270fb5ec05c85fb3c96 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 101529 + timestamp: 1667315331359 +- kind: conda + name: libuuid + version: 2.38.1 + build: h0b41bf4_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18 + md5: 40b61aab5c7ba9ff276c41cfffe6b80b + depends: + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 33601 + timestamp: 1680112270483 +- kind: conda + name: libuuid + version: 2.38.1 + build: hb4cce97_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.38.1-hb4cce97_0.conda + sha256: 616277b0c5f7616c2cdf36f6c316ea3f9aa5bb35f2d4476a349ab58b9b91675f + md5: 000e30b09db0b7c775b21695dff30969 + depends: + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 35720 + timestamp: 1680113474501 +- kind: conda + name: libuv + version: 1.49.2 + build: h7ab814d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.49.2-h7ab814d_0.conda + sha256: 0e5176af1e788ad5006cf261c4ea5a288a935fda48993b0240ddd2e562dc3d02 + md5: 4bc348e3a1a74d20a3f9beb866d75e0a + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 410500 + timestamp: 1729322654121 +- kind: conda + name: libuv + version: 1.49.2 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.49.2-h86ecc28_0.conda + sha256: adf4eca89339ac7780f2394e7e6699be81259eb91f79f9d9fdf2c1bc6b26f210 + md5: 1899e1ec2be63386c41c4db31d3056af + depends: + - libgcc >=13 + license: MIT + license_family: MIT + size: 627484 + timestamp: 1729322575379 +- kind: conda + name: libuv + version: 1.49.2 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.49.2-hb9d3cd8_0.conda + sha256: a35cd81cd1a9add11024097da83cc06b0aae83186fe4124b77710876f37d8f31 + md5: 070e3c9ddab77e38799d5c30b109c633 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 884647 + timestamp: 1729322566955 +- kind: conda + name: libxcrypt + version: 4.4.36 + build: h31becfc_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + sha256: 6b46c397644091b8a26a3048636d10b989b1bf266d4be5e9474bf763f828f41f + md5: b4df5d7d4b63579d081fd3a4cf99740e + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 114269 + timestamp: 1702724369203 +- kind: conda + name: libxcrypt + version: 4.4.36 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 100393 + timestamp: 1702724383534 +- kind: conda + name: libxml2 + version: 2.13.4 + build: h064dc61_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.4-h064dc61_2.conda + sha256: d80f927754f8531768723f23b367d0cff24faa307cc5a64d146b23fddb8a2976 + md5: 61e2f77697c8c502633743bc0d160a80 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + constrains: + - icu <0.0a0 + license: MIT + license_family: MIT + size: 689361 + timestamp: 1730355822995 +- kind: conda + name: libxml2 + version: 2.13.4 + build: h8424949_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.4-h8424949_2.conda + sha256: 51048cd9d4d7ab3ab440bac01d1db8193ae1bd3e9502cdf6792a69c792fec2e5 + md5: 3f0764c38bc02720231d49d6035531f2 + depends: + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + license: MIT + license_family: MIT + size: 572400 + timestamp: 1730356085177 +- kind: conda + name: libxml2 + version: 2.13.4 + build: hf4efe5d_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.13.4-hf4efe5d_2.conda + sha256: 69d6197742a7cca2c9a030bf5c6f61d943d45deeaeb3b2df92ebdfd933524ae0 + md5: 0e28ab30d29c5a566d05bf73dfc5c184 + depends: + - icu >=75.1,<76.0a0 + - libgcc >=13 + - libiconv >=1.17,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xz >=5.2.6,<6.0a0 + license: MIT + license_family: MIT + size: 733127 + timestamp: 1730356005200 +- kind: conda + name: libzlib + version: 1.3.1 + build: h8359307_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b + md5: 369964e85dc26bfe78f41399b366c435 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 46438 + timestamp: 1727963202283 +- kind: conda + name: libzlib + version: 1.3.1 + build: h86ecc28_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + sha256: 5a2c1eeef69342e88a98d1d95bff1603727ab1ff4ee0e421522acd8813439b84 + md5: 08aad7cbe9f5a6b460d0976076b6ae64 + depends: + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 66657 + timestamp: 1727963199518 +- kind: conda + name: libzlib + version: 1.3.1 + build: hb9d3cd8_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + md5: edb0dca6bc32e4f4789199455a1dbeb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + size: 60963 + timestamp: 1727963148474 +- kind: conda + name: llvm-openmp + version: 19.1.3 + build: hb52a8e5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + sha256: 49a8940e727aa82ee034fa9a60b3fcababec41b3192d955772aab635a5374b82 + md5: dd695d23e78d1ca4fecce969b1e1db61 + depends: + - __osx >=11.0 + constrains: + - openmp 19.1.3|19.1.3.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + size: 280488 + timestamp: 1730364082380 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hb7217d7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.9.4-hb7217d7_0.conda + sha256: fc343b8c82efe40819b986e29ba748366514e5ab94a1e1138df195af5f45fa24 + md5: 45505bec548634f7d05e02fb25262cb9 + depends: + - libcxx >=14.0.6 + license: BSD-2-Clause + license_family: BSD + size: 141188 + timestamp: 1674727268278 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hcb278e6_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + sha256: 1b4c105a887f9b2041219d57036f72c4739ab9e9fe5a1486f094e58c76b31f5f + md5: 318b08df404f9c9be5712aaa5a6f0bb0 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 143402 + timestamp: 1674727076728 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hd600fc2_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/lz4-c-1.9.4-hd600fc2_0.conda + sha256: 076870eb72411f41c46598c7582a2f3f42ba94c526a2d60a0c8f70a0a7a64429 + md5: 500145a83ed07ce79c8cef24252f366b + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 163770 + timestamp: 1674727020254 +- kind: conda + name: markdown-it-py + version: 3.0.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda + sha256: c041b0eaf7a6af3344d5dd452815cdc148d6284fec25a4fa3f4263b3a021e962 + md5: 93a8e71256479c62074356ef6ebf501b + depends: + - mdurl >=0.1,<1 + - python >=3.8 + license: MIT + license_family: MIT + size: 64356 + timestamp: 1686175179621 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py312h178313f_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py312h178313f_0.conda + sha256: 15f14ab429c846aacd47fada0dc4f341d64491e097782830f0906d00cb7b48b6 + md5: a755704ea0e2503f8c227d84829a8e81 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 24878 + timestamp: 1729351558563 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py312h74ce7d3_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.2-py312h74ce7d3_0.conda + sha256: 997baf7f46bce112f6e0390efaa7fbb892b8f31567d3c554f08ac636774d74f7 + md5: 8992b90e8374193d53118f7651db0b73 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 25013 + timestamp: 1729352489213 +- kind: conda + name: markupsafe + version: 3.0.2 + build: py312ha0ccf2a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.2-py312ha0ccf2a_0.conda + sha256: 360e958055f35e5087942b9c499eaafae984a951b84cf354ef7481a2806f340d + md5: c6ff9f291d011c9d4f0b840f49435c64 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 24495 + timestamp: 1729351534830 +- kind: conda + name: max + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/max-24.6.0.dev2024110605-release.conda + sha256: 1ea0dc89ca870e0a3c07b8b114552cf7f2027da77d123461536e47d9c1634b29 + md5: 2550d99437980c05b27fd7dd5af4a8fb + depends: + - max-core ==24.6.0.dev2024110605 release + - max-python >=24.6.0.dev2024110605,<25.0a0 + - mojo-jupyter ==24.6.0.dev2024110605 release + - mblack ==24.6.0.dev2024110605 release + license: LicenseRef-Modular-Proprietary + size: 9925 + timestamp: 1730870435927 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: linux-64 + url: https://conda.modular.com/max-nightly/linux-64/max-core-24.6.0.dev2024110605-release.conda + sha256: 9c73e9704f605597eb934d073ed47b51bbbc478e7fc61bb5a81d6274e20424c9 + md5: 9b106fdf79de7e28aea5f87f37f8b14c + depends: + - mblack ==24.6.0.dev2024110605 release + arch: x86_64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 249918952 + timestamp: 1730870435925 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: linux-aarch64 + url: https://conda.modular.com/max-nightly/linux-aarch64/max-core-24.6.0.dev2024110605-release.conda + sha256: e51712451719a1abe82e210c9c4746e0efb98cc39c1b98d6f0c650dae57876ff + md5: 484178e675e74c28aa901b6b63e891a0 + depends: + - mblack ==24.6.0.dev2024110605 release + arch: aarch64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 253754305 + timestamp: 1730870417979 +- kind: conda + name: max-core + version: 24.6.0.dev2024110605 + build: release + subdir: osx-arm64 + url: https://conda.modular.com/max-nightly/osx-arm64/max-core-24.6.0.dev2024110605-release.conda + sha256: b28b8d31cf97ef7b0845846593bcaf347c06c310d9964e2c1528fc93cc38dc9d + md5: f821af8af4dbbde26a1da3263989f235 + depends: + - mblack ==24.6.0.dev2024110605 release + arch: arm64 + platform: osx + license: LicenseRef-Modular-Proprietary + size: 214052557 + timestamp: 1730870539271 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.12release + subdir: linux-64 + url: https://conda.modular.com/max-nightly/linux-64/max-python-24.6.0.dev2024110605-3.12release.conda + sha256: ebf536894d004691e87ff622ea3925dafc9efd8c50a6b0c8aa2013bbaaf586ff + md5: 0ad551861bf58aba11998a62c3939fc0 + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.12.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.12.* *_cp312 + arch: x86_64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 125091238 + timestamp: 1730870435936 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.12release + subdir: linux-aarch64 + url: https://conda.modular.com/max-nightly/linux-aarch64/max-python-24.6.0.dev2024110605-3.12release.conda + sha256: b5411b0e9fe3924fc0ad13f7d33f37ce0237831037c33406dc4f6721163aeda3 + md5: 57ece5d07d421be25a9ccb6b1713e95c + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.12.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.12.* *_cp312 + arch: aarch64 + platform: linux + license: LicenseRef-Modular-Proprietary + size: 128641044 + timestamp: 1730870417991 +- kind: conda + name: max-python + version: 24.6.0.dev2024110605 + build: 3.12release + subdir: osx-arm64 + url: https://conda.modular.com/max-nightly/osx-arm64/max-python-24.6.0.dev2024110605-3.12release.conda + sha256: a44e24fe42594abd8ecb40441dc8ee96f3f80a80658f469b5760316fc8489dd8 + md5: 2ed935cecf559d391496da0878382918 + depends: + - max-core ==24.6.0.dev2024110605 release + - python 3.12.* + - numpy >=1.18,<2.0 + - fastapi + - pydantic-settings + - sse-starlette + - transformers + - opentelemetry-sdk >=1.27.0 + - opentelemetry-exporter-otlp-proto-http >=1.27.0 + - python-json-logger + - python_abi 3.12.* *_cp312 + arch: arm64 + platform: osx + license: LicenseRef-Modular-Proprietary + size: 114808446 + timestamp: 1730870539274 +- kind: conda + name: mblack + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/mblack-24.6.0.dev2024110605-release.conda + sha256: 5a57b56bce08df93a312a2573640fa78243f858646cc15e94c12243160640948 + md5: d879bf770a6e192452cb270422994729 + depends: + - python >=3.9,<3.13 + - click >=8.0.0 + - mypy_extensions >=0.4.3 + - packaging >=22.0 + - pathspec >=0.9.0 + - platformdirs >=2 + - python + license: MIT + size: 130423 + timestamp: 1730870435932 +- kind: conda + name: mdurl + version: 0.1.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + sha256: 64073dfb6bb429d52fff30891877b48c7ec0f89625b1bf844905b66a81cce6e1 + md5: 776a8dd9e824f77abac30e6ef43a8f7a + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 14680 + timestamp: 1704317789138 +- kind: conda + name: mojo-jupyter + version: 24.6.0.dev2024110605 + build: release + subdir: noarch + noarch: python + url: https://conda.modular.com/max-nightly/noarch/mojo-jupyter-24.6.0.dev2024110605-release.conda + sha256: 1d198c3c1fdacf27951dabafdb6d1eebfd16137fa443a5768631f260a3e72da1 + md5: bf4cab55725d54ec0faedc00e0b07e66 + depends: + - max-core ==24.6.0.dev2024110605 release + - python >=3.9,<3.13 + - jupyter_client >=8.6.2,<8.7 + - python + license: LicenseRef-Modular-Proprietary + size: 22952 + timestamp: 1730870435934 +- kind: conda + name: multidict + version: 6.1.0 + build: py312h178313f_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.1.0-py312h178313f_1.conda + sha256: bf9cb8487f447098bd4a8248b4f176f34dd55be729a67b8ac2fdb984b80c5d46 + md5: e397d9b841c37fc3180b73275ce7e990 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 61519 + timestamp: 1729065799315 +- kind: conda + name: multidict + version: 6.1.0 + build: py312hcc812fe_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/multidict-6.1.0-py312hcc812fe_1.conda + sha256: 39264fd518c5dcda3affed162b874a58c775a5f5eb81e0aaf2387e92408a3490 + md5: 7629c9ce86495fa01cdfc3ea5418d03f + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 62830 + timestamp: 1729065694252 +- kind: conda + name: multidict + version: 6.1.0 + build: py312hdb8e49c_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/multidict-6.1.0-py312hdb8e49c_1.conda + sha256: 482fd09fb798090dc8cce2285fa69f43b1459099122eac2fb112d9b922b9f916 + md5: 0048335516fed938e4dd2c457b4c5b9b + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 55968 + timestamp: 1729065664275 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py312h02f2b3b_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/multiprocess-0.70.15-py312h02f2b3b_1.conda + sha256: 8041371e3ec3fbc2ca13c71b0180672896e6382e62892d9f6b11a4c5dd675951 + md5: 910ef2223c71902175418d9163152788 + depends: + - dill >=0.3.6 + - python >=3.12.0rc3,<3.13.0a0 + - python >=3.12.0rc3,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 335147 + timestamp: 1695459275360 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py312h98912ed_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/multiprocess-0.70.15-py312h98912ed_1.conda + sha256: bb612a921fafda6375a2204ffebd8811db8dd3b8f25ac9886cc9bcbff7e3664e + md5: 5a64b9f44790d9a187a85366dd0ffa8d + depends: + - dill >=0.3.6 + - libgcc-ng >=12 + - python >=3.12.0rc3,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 335666 + timestamp: 1695459025249 +- kind: conda + name: multiprocess + version: 0.70.15 + build: py312hdd3e373_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/multiprocess-0.70.15-py312hdd3e373_1.conda + sha256: c53362cdf346f314e111faddc53061e3fd2ece0ba68ca303f5dd109976df158f + md5: 173a1692d2b3ddc265dc6afd21a869b3 + depends: + - dill >=0.3.6 + - libgcc-ng >=12 + - python >=3.12.0rc3,<3.13.0a0 + - python >=3.12.0rc3,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 336110 + timestamp: 1695459137796 +- kind: conda + name: mypy_extensions + version: 1.0.0 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + sha256: f240217476e148e825420c6bc3a0c0efb08c0718b7042fae960400c02af858a3 + md5: 4eccaeba205f0aed9ac3a9ea58568ca3 + depends: + - python >=3.5 + license: MIT + license_family: MIT + size: 10492 + timestamp: 1675543414256 +- kind: conda + name: ncurses + version: '6.5' + build: h7bae524_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + sha256: 27d0b9ff78ad46e1f3a6c96c479ab44beda5f96def88e2fe626e0a49429d8afc + md5: cb2b0ea909b97b3d70cd3921d1445e1a + depends: + - __osx >=11.0 + license: X11 AND BSD-3-Clause + size: 802321 + timestamp: 1724658775723 +- kind: conda + name: ncurses + version: '6.5' + build: hcccb83c_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-hcccb83c_1.conda + sha256: acad4cf1f57b12ee1e42995e6fac646fa06aa026529f05eb8c07eb0a84a47a84 + md5: 91d49c85cacd92caa40cf375ef72a25d + depends: + - libgcc-ng >=12 + license: X11 AND BSD-3-Clause + size: 924472 + timestamp: 1724658573518 +- kind: conda + name: ncurses + version: '6.5' + build: he02047a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + sha256: 6a1d5d8634c1a07913f1c525db6455918cbc589d745fac46d9d6e30340c8731a + md5: 70caf8bb6cf39a0b6b7efc885f51c0fe + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: X11 AND BSD-3-Clause + size: 889086 + timestamp: 1724658547447 +- kind: conda + name: numpy + version: 1.26.4 + build: py312h470d778_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.26.4-py312h470d778_0.conda + sha256: 23767677a7790bee5457d5e75ebd508b9a31c5354216f4310dd1acfca3f7a6f9 + md5: 9cebf5a06cb87d4569cd68df887af476 + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 6614296 + timestamp: 1707225994762 +- kind: conda + name: numpy + version: 1.26.4 + build: py312h8442bc7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.26.4-py312h8442bc7_0.conda + sha256: c8841d6d6f61fd70ca80682efbab6bdb8606dc77c68d8acabfbd7c222054f518 + md5: d83fc83d589e2625a3451c9a7e21047c + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=16 + - liblapack >=3.9.0,<4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 6073136 + timestamp: 1707226249608 +- kind: conda + name: numpy + version: 1.26.4 + build: py312heda63a1_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + sha256: fe3459c75cf84dcef6ef14efcc4adb0ade66038ddd27cadb894f34f4797687d8 + md5: d8285bea2a350f63fab23bf460221f3f + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 7484186 + timestamp: 1707225809722 +- kind: conda + name: openssl + version: 3.3.2 + build: h8359307_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda + sha256: 940fa01c4dc6152158fe8943e05e55a1544cab639df0994e3b35937839e4f4d1 + md5: 1773ebccdc13ec603356e8ff1db9e958 + depends: + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + size: 2882450 + timestamp: 1725410638874 +- kind: conda + name: openssl + version: 3.3.2 + build: h86ecc28_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.3.2-h86ecc28_0.conda + sha256: 4669d26dbf81e4d72093d8260f55d19d57204d82b1d9440be83d11d313b5990c + md5: 9e1e477b3f8ee3789297883faffa708b + depends: + - ca-certificates + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 3428083 + timestamp: 1725412266679 +- kind: conda + name: openssl + version: 3.3.2 + build: hb9d3cd8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda + sha256: cee91036686419f6dd6086902acf7142b4916e1c4ba042e9ca23e151da012b6d + md5: 4d638782050ab6faa27275bed57e9b4e + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=13 + license: Apache-2.0 + license_family: Apache + size: 2891789 + timestamp: 1725410790053 +- kind: conda + name: opentelemetry-api + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-api-1.27.0-pyhd8ed1ab_0.conda + sha256: ed8350db9d8f177f2e0eefb4df24c1134f1b39f7ef3e20ac42725a3b860309cd + md5: 947b016e29819585f8f3f82dbb7ede91 + depends: + - deprecated >=1.2.6 + - importlib-metadata >=6.0.0,<7.1.0 + - python >=3.8 + - setuptools >=16.0 + license: Apache-2.0 + license_family: APACHE + size: 43708 + timestamp: 1724916819673 +- kind: conda + name: opentelemetry-exporter-otlp-proto-common + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-common-1.27.0-pyhd8ed1ab_0.conda + sha256: 6ec5cc984ad9c0faef329a1a1507d4431f08812b9053be42a2a736ae081dc3c5 + md5: 00e6c03b1437fa6bf3a775bc8f89f677 + depends: + - backoff >=1.10.0,<3.0.0 + - opentelemetry-proto 1.27.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 18221 + timestamp: 1724929505617 +- kind: conda + name: opentelemetry-exporter-otlp-proto-http + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-exporter-otlp-proto-http-1.27.0-pyhd8ed1ab_0.conda + sha256: b5b86f0f819b5dd05bf0e67ddaa763086194a751aa534bed44fdbf089b317142 + md5: 3caeb0419f4d0f9ac0538c799df15612 + depends: + - deprecated >=1.2.6 + - googleapis-common-protos ~=1.52 + - opentelemetry-api 1.27.0 + - opentelemetry-exporter-otlp-proto-common 1.27.0 + - opentelemetry-proto 1.27.0 + - opentelemetry-sdk 1.27.0 + - python >=3.8 + - requests ~=2.7 + license: Apache-2.0 + license_family: APACHE + size: 16982 + timestamp: 1724969540619 +- kind: conda + name: opentelemetry-proto + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-proto-1.27.0-pyhd8ed1ab_0.conda + sha256: ca0480de7f33511dc983aeaf7de23f49c3a258b185588543f85abcf08b10d000 + md5: 3de386ea142a50514f6bba04c3fb48c0 + depends: + - protobuf >=3.19,<5.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 37620 + timestamp: 1724925809921 +- kind: conda + name: opentelemetry-sdk + version: 1.27.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-sdk-1.27.0-pyhd8ed1ab_0.conda + sha256: fb0e4f664166d168edf455f744d827c2342b4b1e99d035cd2e47721863d845e5 + md5: 1a16e734cd0ebb70d3b79265403beb13 + depends: + - opentelemetry-api 1.27.0 + - opentelemetry-semantic-conventions 0.48b0 + - python >=3.8 + - typing-extensions >=3.7.4 + license: Apache-2.0 + license_family: APACHE + size: 73814 + timestamp: 1724923174196 +- kind: conda + name: opentelemetry-semantic-conventions + version: 0.48b0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/opentelemetry-semantic-conventions-0.48b0-pyhd8ed1ab_0.conda + sha256: e2f9a4dbb4eef97e5ab04a73b3898c0f186d57705eae66c6991452385f987e9c + md5: eefd5ed55046af15c08051afb6b0eb6b + depends: + - opentelemetry-api 1.27.0 + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 76393 + timestamp: 1724919708207 +- kind: conda + name: orc + version: 2.0.2 + build: h383807c_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/orc-2.0.2-h383807c_0.conda + sha256: 04cc6054199bdbc2649f1ee1afde87d6274ce9dc6f2c2f22da42810b9c8f323a + md5: e910dc97dc0ce4ab1e1a87f49aff89fd + depends: + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 1046461 + timestamp: 1723760657143 +- kind: conda + name: orc + version: 2.0.2 + build: h669347b_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/orc-2.0.2-h669347b_0.conda + sha256: 8a126e0be7f87c499f0a9b5229efa4321e60fc4ae46abdec9b13240631cb1746 + md5: 1e6c10f7d749a490612404efeb179eb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 1066349 + timestamp: 1723760593232 +- kind: conda + name: orc + version: 2.0.2 + build: h75dedd0_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/orc-2.0.2-h75dedd0_0.conda + sha256: a23f3a88a6b16363bd13f964b4abd12be1576abac460126f3269cbed12d04840 + md5: 9c89e09cede143716b479c5eacc924fb + depends: + - __osx >=11.0 + - libcxx >=16 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - snappy >=1.2.1,<1.3.0a0 + - tzdata + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 + license_family: Apache + size: 436164 + timestamp: 1723760750932 +- kind: conda + name: packaging + version: '24.1' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + sha256: 36aca948219e2c9fdd6d80728bcc657519e02f06c2703d8db3446aec67f51d81 + md5: cbe1bb1f21567018ce595d9c2be0f0db + depends: + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + size: 50290 + timestamp: 1718189540074 +- kind: conda + name: pandas + version: 2.2.3 + build: py312ha2895bd_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pandas-2.2.3-py312ha2895bd_1.conda + sha256: 585e05f95d14afe3df43ded14f86800c70da26b27e27b59de95932f8888af5d3 + md5: 80b873ac4fdf36641afa0eaafff3a664 + depends: + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.12.* *_cp312 + - pytz >=2020.1,<2024.2 + license: BSD-3-Clause + license_family: BSD + size: 15159625 + timestamp: 1726879151211 +- kind: conda + name: pandas + version: 2.2.3 + build: py312hcd31e36_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pandas-2.2.3-py312hcd31e36_1.conda + sha256: ff0cb54b5d058c7987b4a0984066e893642d1865a7bb695294b6172e2fcdc457 + md5: c68bfa69e6086c381c74e16fd72613a8 + depends: + - __osx >=11.0 + - libcxx >=17 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.12.* *_cp312 + - pytz >=2020.1,<2024.2 + license: BSD-3-Clause + license_family: BSD + size: 14470437 + timestamp: 1726878887799 +- kind: conda + name: pandas + version: 2.2.3 + build: py312hf9745cd_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.3-py312hf9745cd_1.conda + sha256: ad275a83bfebfa8a8fee9b0569aaf6f513ada6a246b2f5d5b85903d8ca61887e + md5: 8bce4f6caaf8c5448c7ac86d87e26b4b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - numpy >=1.22.4 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.12.* *_cp312 + - pytz >=2020.1,<2024.2 + license: BSD-3-Clause + license_family: BSD + size: 15436913 + timestamp: 1726879054912 +- kind: conda + name: pathspec + version: 0.12.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda + sha256: 4e534e66bfe8b1e035d2169d0e5b185450546b17e36764272863e22e0370be4d + md5: 17064acba08d3686f1135b5ec1b32b12 + depends: + - python >=3.7 + license: MPL-2.0 + license_family: MOZILLA + size: 41173 + timestamp: 1702250135032 +- kind: conda + name: platformdirs + version: 4.3.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + sha256: c81bdeadc4adcda216b2c7b373f0335f5c78cc480d1d55d10f21823590d7e46f + md5: fd8f2b18b65bbf62e8f653100690c8d2 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 20625 + timestamp: 1726613611845 +- kind: conda + name: propcache + version: 0.2.0 + build: py312h024a12e_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/propcache-0.2.0-py312h024a12e_2.conda + sha256: 0f3a04675c6c473398f0aaa95c259e0a085d5ec106b4fa89a7efeb7cc73d5dd2 + md5: 6693e523bc43c38508efe14ab3374f0c + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 47796 + timestamp: 1728545963127 +- kind: conda + name: propcache + version: 0.2.0 + build: py312h66e93f0_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.2.0-py312h66e93f0_2.conda + sha256: be7aa0056680dd6e528b7992169a20dd525b94f62d37c8ba0fbf69bd4e8df57d + md5: 2c6c0c68f310bc33972e7c83264d7786 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 53498 + timestamp: 1728545927816 +- kind: conda + name: propcache + version: 0.2.0 + build: py312hb2c0f52_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/propcache-0.2.0-py312hb2c0f52_2.conda + sha256: 50dad7604b6c20440baf081700b5d6829097121e65f34fd1a15508b20fbecc07 + md5: 8a258196d6f79ad32d3ea4dd4572f721 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 53507 + timestamp: 1728546155066 +- kind: conda + name: protobuf + version: 4.25.3 + build: py312h83439f5_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py312h83439f5_1.conda + sha256: 30d212eca5e25d0b0260dd0fff18f917386bfe046e425d627847aaed642a0aa4 + md5: 7bbcc35ebf7e3d8c59e472f1bf0e65fc + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 390590 + timestamp: 1725018571385 +- kind: conda + name: protobuf + version: 4.25.3 + build: py312h8a04735_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/protobuf-4.25.3-py312h8a04735_1.conda + sha256: 1a79bd9813b6ca59329549c5831f86031668dff8c31339cb1199b5aef38e36ab + md5: 0f527d01f72f363ee35a4bc874f235ba + depends: + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libgcc >=13 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 392015 + timestamp: 1725018625494 +- kind: conda + name: protobuf + version: 4.25.3 + build: py312he4aa971_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/protobuf-4.25.3-py312he4aa971_1.conda + sha256: 1eb7f6c300be7a727ceaa01b009b9af14aac5112f685e8ef38238dbc8f4ad4dc + md5: 5feb2cb13c6b7c2b2365ee5307e4b2db + depends: + - __osx >=11.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcxx >=17 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 373218 + timestamp: 1725018824150 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py312h55cb1a1_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-17.0.0-py312h55cb1a1_2.conda + sha256: 83d34c5bd373ab01402e2350ed5b1e836a3ac25a715d399621ce3610d8685339 + md5: da93169f2deb8623e266c71ca9b0bac6 + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 25737 + timestamp: 1730169570576 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py312h9cebb41_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-17.0.0-py312h9cebb41_2.conda + sha256: 9e1baddd1199e244f4f8be10c7250691088948583ab3955c510b90eb71c91a2c + md5: 5f7d505626cb057e1320bbd46dd02ef2 + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 25538 + timestamp: 1730169714708 +- kind: conda + name: pyarrow + version: 17.0.0 + build: py312ha814d7c_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-17.0.0-py312ha814d7c_2.conda + sha256: d6433c343120e723cad92b52ea05c16e05096845489275a697201ce0a50fc568 + md5: 04a90c4ce691f2e289658dd475f69631 + depends: + - libarrow-acero 17.0.0.* + - libarrow-dataset 17.0.0.* + - libarrow-substrait 17.0.0.* + - libparquet 17.0.0.* + - numpy >=1.19,<3 + - pyarrow-core 17.0.0 *_2_* + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 25811 + timestamp: 1730169125041 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py312h01725c0_2_cpu + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyarrow-core-17.0.0-py312h01725c0_2_cpu.conda + sha256: e5ed32ee7664a6322263e446d3504a35ff6f5452b17f1161bce7922d03f3cbd4 + md5: add603bfa43d9bf3f06783f780e1a817 + depends: + - __glibc >=2.17,<3.0.a0 + - libarrow 17.0.0.* *cpu + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 4607408 + timestamp: 1730169265797 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py312h66f7834_2_cpu + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyarrow-core-17.0.0-py312h66f7834_2_cpu.conda + sha256: 239ac3e62ef11c6e0acc16a4b1a8e3029ed11c5aec771a98f08b7f2fc3a79945 + md5: 77b54d42cacd19af257ed402fb936f9c + depends: + - libarrow 17.0.0.* *cpu + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 4460462 + timestamp: 1730169449471 +- kind: conda + name: pyarrow-core + version: 17.0.0 + build: py312hc40f475_2_cpu + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyarrow-core-17.0.0-py312hc40f475_2_cpu.conda + sha256: 708488e602a159fa38a7fd5fa4466e9f093761dc4a8538661f06be3df42f30a5 + md5: bc617fed2854d65a16760d2bf02a475c + depends: + - __osx >=11.0 + - libarrow 17.0.0.* *cpu + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - apache-arrow-proc =*=cpu + license: Apache-2.0 + license_family: APACHE + size: 3990396 + timestamp: 1730169098217 +- kind: conda + name: pycparser + version: '2.22' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + sha256: 406001ebf017688b1a1554b49127ca3a4ac4626ec0fd51dc75ffa4415b720b64 + md5: 844d9eb3b43095b031874477f7d70088 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 105098 + timestamp: 1711811634025 +- kind: conda + name: pydantic + version: 2.9.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.9.2-pyhd8ed1ab_0.conda + sha256: 1b7b0dc9f6af4da156bf22b0263be70829364a08145c696d3670facff2f6441a + md5: 1eb533bb8eb2199e3fef3e4aa147319f + depends: + - annotated-types >=0.6.0 + - pydantic-core 2.23.4 + - python >=3.7 + - typing-extensions >=4.6.1 + license: MIT + license_family: MIT + size: 300649 + timestamp: 1726601202431 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py312h12e396e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.23.4-py312h12e396e_0.conda + sha256: 365fde689865087b2a9da636f36678bd59617b324ce7a538b4806e90602b20f1 + md5: 0845ab52d4ea209049129a6a91bc74ba + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 1611784 + timestamp: 1726525286507 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py312h8cbf658_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.23.4-py312h8cbf658_0.conda + sha256: fea8db180722c812c9812605ddc3d410a242f9b1ee798bc3b4a9f1e06897f3eb + md5: 18d60aa79641cec25c57823f1c8ba28d + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 1479271 + timestamp: 1726525386163 +- kind: conda + name: pydantic-core + version: 2.23.4 + build: py312he431725_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pydantic-core-2.23.4-py312he431725_0.conda + sha256: d6edd3d0f9e701c8299519d412ad3dc900c7d893a134f2582203cf43585decca + md5: 3148052477686acc581b20a34b478eeb + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.6.0,!=4.7.0 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 1431747 + timestamp: 1726525575527 +- kind: conda + name: pydantic-settings + version: 2.6.1 + build: pyh3cfb1c2_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-settings-2.6.1-pyh3cfb1c2_0.conda + sha256: b3f331d69f7f3b3272e8e203211bfe39ba728a61fadc9b5c2f091b50084f0187 + md5: 412f950a65ceea20b06263f65d689f6b + depends: + - pydantic >=2.7.0 + - python >=3.8 + - python-dotenv >=0.21.0 + license: MIT + license_family: MIT + size: 30618 + timestamp: 1730473755879 +- kind: conda + name: pygments + version: 2.18.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + sha256: 78267adf4e76d0d64ea2ffab008c501156c108bb08fecb703816fb63e279780b + md5: b7f5c092b8f9800150d998a71b76d5a1 + depends: + - python >=3.8 + license: BSD-2-Clause + license_family: BSD + size: 879295 + timestamp: 1714846885370 +- kind: conda + name: pysocks + version: 1.7.1 + build: pyha2e5f31_6 + build_number: 6 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b + md5: 2a7de29fb590ca14b5243c4c812c8025 + depends: + - __unix + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 18981 + timestamp: 1661604969727 +- kind: conda + name: python + version: 3.12.7 + build: h5d932e8_0_cpython + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.7-h5d932e8_0_cpython.conda + sha256: 25570873d92d4d9490c6db780cc85e6c28bd3ff61dc1ece79f602cf82bc73bc1 + md5: e6cab21bb5787270388939cf41cc5f43 + depends: + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-aarch64 >=2.36.1 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + size: 13762126 + timestamp: 1728057461028 +- kind: conda + name: python + version: 3.12.7 + build: h739c21a_0_cpython + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda + sha256: 45d7ca2074aa92594bd2f91a9003b338cc1df8a46b9492b7fc8167110783c3ef + md5: e0d82e57ebb456077565e6d82cd4a323 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + size: 12975439 + timestamp: 1728057819519 +- kind: conda + name: python + version: 3.12.7 + build: hc5c86c4_0_cpython + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.7-hc5c86c4_0_cpython.conda + sha256: 674be31ff152d9f0e0fe16959a45e3803a730fc4f54d87df6a9ac4e6a698c41d + md5: 0515111a9cdf69f83278f7c197db9807 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.6.3,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.46.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.3.2,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + size: 31574780 + timestamp: 1728059777603 +- kind: conda + name: python-dateutil + version: 2.9.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + sha256: f3ceef02ac164a8d3a080d0d32f8e2ebe10dd29e3a685d240e38b3599e146320 + md5: 2cf4264fffb9e6eff6031c5b6884d61c + depends: + - python >=3.7 + - six >=1.5 + license: Apache-2.0 + license_family: APACHE + size: 222742 + timestamp: 1709299922152 +- kind: conda + name: python-dotenv + version: 1.0.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.0.1-pyhd8ed1ab_0.conda + sha256: 2d4c80364f03315d606a50eddd493dbacc078e21412c2462c0f781eec49b572c + md5: c2997ea9360ac4e015658804a7a84f94 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 24278 + timestamp: 1706018281544 +- kind: conda + name: python-json-logger + version: 2.0.7 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + sha256: 4790787fe1f4e8da616edca4acf6a4f8ed4e7c6967aa31b920208fc8f95efcca + md5: a61bf9ec79426938ff785eb69dbb1960 + depends: + - python >=3.6 + license: BSD-2-Clause + license_family: BSD + size: 13383 + timestamp: 1677079727691 +- kind: conda + name: python-multipart + version: 0.0.17 + build: pyhff2d567_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-multipart-0.0.17-pyhff2d567_0.conda + sha256: f351636a91163de28cf602c755abd1b5ad858e4a790c3a30d5a5aa1066c0550c + md5: a08ea55eb3ad403b12639cd3a4a8d28f + depends: + - python >=3.8 + license: Apache-2.0 + license_family: Apache + size: 27810 + timestamp: 1730382122271 +- kind: conda + name: python-tzdata + version: '2024.2' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.2-pyhd8ed1ab_0.conda + sha256: fe3f62ce2bc714bdaa222ab3f0344a2815ad9e853c6df38d15c9f25de8a3a6d4 + md5: 986287f89929b2d629bd6ef6497dc307 + depends: + - python >=3.6 + license: Apache-2.0 + license_family: APACHE + size: 142527 + timestamp: 1727140688093 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-xxhash-3.5.0-py312h024a12e_1.conda + sha256: 28204ef48f028a4d872e22040da0dad7ebd703549b010a1bb511b6dd94cf466d + md5: 266fe1ae54a7bb17990206664d0f0ae4 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 21765 + timestamp: 1725272382968 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py312h52516f5_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python-xxhash-3.5.0-py312h52516f5_1.conda + sha256: 0fa5ba80073a43391ee90303814adbc9fd826175de1fdac273ba0e5b711aa255 + md5: 591c4ae6d8338dfd07b951e00433a405 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 23589 + timestamp: 1725273317965 +- kind: conda + name: python-xxhash + version: 3.5.0 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-xxhash-3.5.0-py312h66e93f0_1.conda + sha256: 20851b1e59fee127d49e01fc73195a88ab0779f103b7d6ffc90d11142a83678f + md5: 39aed2afe4d0cf76ab3d6b09eecdbea7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - xxhash >=0.8.2,<0.8.3.0a0 + license: BSD-2-Clause + license_family: BSD + size: 23162 + timestamp: 1725272139519 +- kind: conda + name: python_abi + version: '3.12' + build: 5_cp312 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda + sha256: d10e93d759931ffb6372b45d65ff34d95c6000c61a07e298d162a3bc2accebb0 + md5: 0424ae29b104430108f5218a66db7260 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6238 + timestamp: 1723823388266 +- kind: conda + name: python_abi + version: '3.12' + build: 5_cp312 + build_number: 5 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/python_abi-3.12-5_cp312.conda + sha256: 5ccdad9981753cc4a2d126e356673a21c0cd5b34e209cb8d476a3947d4ad9b39 + md5: 62b20f305498284a07dc6c45fd0e5c87 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6329 + timestamp: 1723823366253 +- kind: conda + name: python_abi + version: '3.12' + build: 5_cp312 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + sha256: 49d624e4b809c799d2bf257b22c23cf3fc4460f5570d9a58e7ad86350aeaa1f4 + md5: b76f9b1c862128e56ac7aa8cd2333de9 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + size: 6278 + timestamp: 1723823099686 +- kind: conda + name: pytz + version: '2024.1' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + sha256: 1a7d6b233f7e6e3bbcbad054c8fd51e690a67b129a899a056a5e45dd9f00cb41 + md5: 3eeeeb9e4827ace8c0c1419c85d590ad + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 188538 + timestamp: 1706886944988 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.2-py312h024a12e_1.conda + sha256: b06f1c15fb39695bbf707ae8fb554b9a77519af577b5556784534c7db10b52e3 + md5: 1ee23620cf46cb15900f70a1300bae55 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 187143 + timestamp: 1725456547263 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.2-py312h66e93f0_1.conda + sha256: a60705971e958724168f2ebbb8ed4853067f1d3f7059843df3903e3092bbcffa + md5: 549e5930e768548a89c23f595dac5a95 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 206553 + timestamp: 1725456256213 +- kind: conda + name: pyyaml + version: 6.0.2 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.2-py312hb2c0f52_1.conda + sha256: 8c515ebe1e7e85d972d72b75760af9dfac06fd11a9dba7e05c42d69aedbb303c + md5: dc5de424f7dbb9772da720dbb81317b2 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 199141 + timestamp: 1725456356043 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py312h2427ae1_3 + build_number: 3 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-26.2.0-py312h2427ae1_3.conda + sha256: cfc4ea87d68b5f0ed64a61f500d5ea0a2310d1f281a4f95afa06c703ea1bdf7d + md5: 1f0779280c3dc1e72cfd86bd1e59791d + depends: + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 371730 + timestamp: 1728644030875 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py312hbf22597_3 + build_number: 3 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.2.0-py312hbf22597_3.conda + sha256: bc303f9b11e04a515f79cd5ad3bfa0e84b9dfec76552626d6263b38789fe6678 + md5: 746ce19f0829ec3e19c93007b1a224d3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 378126 + timestamp: 1728642454632 +- kind: conda + name: pyzmq + version: 26.2.0 + build: py312hf8a1cbd_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-26.2.0-py312hf8a1cbd_3.conda + sha256: 2e0ca1bb9ab3af5d1f9b38548d65be7097ba0246e7e63c908c9b1323df3f45b5 + md5: 7bdaa4c2a84b744ef26c8b2ba65c3d0e + depends: + - __osx >=11.0 + - libcxx >=17 + - libsodium >=1.0.20,<1.0.21.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 361674 + timestamp: 1728642457661 +- kind: conda + name: re2 + version: 2023.09.01 + build: h4cba328_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/re2-2023.09.01-h4cba328_2.conda + sha256: 0e0d44414381c39a7e6f3da442cb41c637df0dcb383a07425f19c19ccffa0118 + md5: 0342882197116478a42fa4ea35af79c1 + depends: + - libre2-11 2023.09.01 h7b2c953_2 + license: BSD-3-Clause + license_family: BSD + size: 26770 + timestamp: 1708947220914 +- kind: conda + name: re2 + version: 2023.09.01 + build: h7f4b329_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda + sha256: f0f520f57e6b58313e8c41abc7dfa48742a05f1681f05654558127b667c769a8 + md5: 8f70e36268dea8eb666ef14c29bd3cda + depends: + - libre2-11 2023.09.01 h5a48ba9_2 + license: BSD-3-Clause + license_family: BSD + size: 26617 + timestamp: 1708946796423 +- kind: conda + name: re2 + version: 2023.09.01 + build: h9caee61_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/re2-2023.09.01-h9caee61_2.conda + sha256: 31db9c598bfa7586ac2e3ba06681d676caa5d252b5b68f4b6173edc71f70681e + md5: a9667ab785e1686d53313364c695f58e + depends: + - libre2-11 2023.09.01 h9d008c2_2 + license: BSD-3-Clause + license_family: BSD + size: 26726 + timestamp: 1708946863063 +- kind: conda + name: readline + version: '8.2' + build: h8228510_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda + sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7 + md5: 47d31b792659ce70f470b5c82fdfb7a4 + depends: + - libgcc-ng >=12 + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 281456 + timestamp: 1679532220005 +- kind: conda + name: readline + version: '8.2' + build: h8fc344f_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8fc344f_1.conda + sha256: 4c99f7417419734e3797d45bc355e61c26520e111893b0d7087a01a7fbfbe3dd + md5: 105eb1e16bf83bfb2eb380a48032b655 + depends: + - libgcc-ng >=12 + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 294092 + timestamp: 1679532238805 +- kind: conda + name: readline + version: '8.2' + build: h92ec313_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + sha256: a1dfa679ac3f6007362386576a704ad2d0d7a02e98f5d0b115f207a2da63e884 + md5: 8cbb776a2f641b943d413b3e19df71f4 + depends: + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 250351 + timestamp: 1679532511311 +- kind: conda + name: regex + version: 2024.9.11 + build: py312h024a12e_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/regex-2024.9.11-py312h024a12e_0.conda + sha256: c4dbb0a7195e3b5ec6059a6d280b44be3905ee8bf0d1622443efd8865dd90cf4 + md5: 796612a39474f5f08f7fc910d161a395 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Python-2.0 + license_family: PSF + size: 366013 + timestamp: 1726095775313 +- kind: conda + name: regex + version: 2024.9.11 + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/regex-2024.9.11-py312h66e93f0_0.conda + sha256: d841a27a17a8dc1a39b4b00145fd9a27a2832d838c18fbb8ba48f5bc63a02d6d + md5: f998667df44480bb9a365998290d8c93 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Python-2.0 + license_family: PSF + size: 405100 + timestamp: 1726095738310 +- kind: conda + name: regex + version: 2024.9.11 + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2024.9.11-py312hb2c0f52_0.conda + sha256: 40987610104a3dccda167690dbbff8b77c217c94e2317b2aa4b2b34ee2cb7233 + md5: 6fbfec5e5aa2a0f507962bd6ec72e1d4 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Python-2.0 + license_family: PSF + size: 399142 + timestamp: 1726095874328 +- kind: conda + name: requests + version: 2.32.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + sha256: 5845ffe82a6fa4d437a2eae1e32a1ad308d7ad349f61e337c0a890fe04c513cc + md5: 5ede4753180c7a550a443c430dc8ab52 + depends: + - certifi >=2017.4.17 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - python >=3.8 + - urllib3 >=1.21.1,<3 + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + size: 58810 + timestamp: 1717057174842 +- kind: conda + name: rich + version: 13.9.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/rich-13.9.4-pyhd8ed1ab_0.conda + sha256: c009488fc07fd5557434c9c1ad32ab1dd50241d6a766e4b2b4125cd6498585a8 + md5: bcf8cc8924b5d20ead3d122130b8320b + depends: + - markdown-it-py >=2.2.0 + - pygments >=2.13.0,<3.0.0 + - python >=3.8 + - typing_extensions >=4.0.0,<5.0.0 + license: MIT + license_family: MIT + size: 185481 + timestamp: 1730592349978 +- kind: conda + name: s2n + version: 1.5.5 + build: h3931f03_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.5.5-h3931f03_0.conda + sha256: a6fa0afa836f8f26dea0abc180ca2549bb517932d9a88a121e707135d4bcb715 + md5: 334dba9982ab9f5d62033c61698a8683 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 353081 + timestamp: 1728534228471 +- kind: conda + name: s2n + version: 1.5.5 + build: hc6ade00_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/s2n-1.5.5-hc6ade00_0.conda + sha256: 47e9783a3c2b44b2f718e7cda74c0170e6a8c145688eee76a4395ac06f6e5393 + md5: 7238fdea17af79b5f6928ff278c70d52 + depends: + - libgcc >=13 + - openssl >=3.3.2,<4.0a0 + license: Apache-2.0 + license_family: Apache + size: 349557 + timestamp: 1728534230496 +- kind: conda + name: safetensors + version: 0.4.5 + build: py312h12e396e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/safetensors-0.4.5-py312h12e396e_0.conda + sha256: e44515f875c10efb5e041efcb250dfd18f2cb66ec3f268237549ead6284c6922 + md5: 3b87a00bcaab069172d6cef8124b7142 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 402547 + timestamp: 1725632183154 +- kind: conda + name: safetensors + version: 0.4.5 + build: py312h8cbf658_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/safetensors-0.4.5-py312h8cbf658_0.conda + sha256: e83ebeaba4a07bbe4a1d6c7eef0b4f7ae19901ef365bca043808d16e4c8faad8 + md5: 82ef253c37308b082a478fb92924cad6 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 400284 + timestamp: 1725632278147 +- kind: conda + name: safetensors + version: 0.4.5 + build: py312he431725_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/safetensors-0.4.5-py312he431725_0.conda + sha256: 93a085d0d64237db7f4ff395c446f268c575dc2c324d8e3e5c5d7d836896295e + md5: ccb978cf1e3151c25a44c4ae65c1f20e + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + size: 353606 + timestamp: 1725632294079 +- kind: conda + name: setuptools + version: 75.3.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + sha256: a36d020b9f32fc3f1a6488a1c4a9c13988c6468faf6895bf30ca69521a61230e + md5: 2ce9825396daf72baabaade36cee16da + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 779561 + timestamp: 1730382173961 +- kind: conda + name: shellingham + version: 1.5.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.4-pyhd8ed1ab_0.conda + sha256: 3c49a0a101c41b7cf6ac05a1872d7a1f91f1b6d02eecb4a36b605a19517862bb + md5: d08db09a552699ee9e7eec56b4eb3899 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 14568 + timestamp: 1698144516278 +- kind: conda + name: six + version: 1.16.0 + build: pyh6c4a22f_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6 + md5: e5f25f8dbc060e9a8d912e432202afc2 + depends: + - python + license: MIT + license_family: MIT + size: 14259 + timestamp: 1620240338595 +- kind: conda + name: snappy + version: 1.2.1 + build: h1088aeb_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.1-h1088aeb_0.conda + sha256: 79f5d0a9098acf2ed16e6ecc4c11472b50ccf59feea37a7d585fd43888d7e41f + md5: e4ed5b015f525b56f95c26d85a4ea208 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 42888 + timestamp: 1720003817527 +- kind: conda + name: snappy + version: 1.2.1 + build: ha2e4443_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.1-ha2e4443_0.conda + sha256: dc7c8e0e8c3e8702aae81c52d940bfaabe756953ee51b1f1757e891bab62cf7f + md5: 6b7dcc7349efd123d493d2dbe85a045f + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 42465 + timestamp: 1720003704360 +- kind: conda + name: snappy + version: 1.2.1 + build: hd02b534_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-hd02b534_0.conda + sha256: cb7a9440241c6092e0f1c795fdca149c4767023e783eaf9cfebc501f906b4897 + md5: 69d0f9694f3294418ee935da3d5f7272 + depends: + - __osx >=11.0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + size: 35708 + timestamp: 1720003794374 +- kind: conda + name: sniffio + version: 1.3.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + sha256: bc12100b2d8836b93c55068b463190505b8064d0fc7d025e89f20ebf22fe6c2b + md5: 490730480d76cf9c8f8f2849719c6e2b + depends: + - python >=3.7 + license: Apache-2.0 + license_family: Apache + size: 15064 + timestamp: 1708953086199 +- kind: conda + name: sse-starlette + version: 2.1.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/sse-starlette-2.1.3-pyhd8ed1ab_0.conda + sha256: 6d671a66333410ec7e5e7858a252565a9001366726d1fe3c3a506d7156169085 + md5: 3918255c942c242ed5599e10329e8d0e + depends: + - anyio + - python >=3.8 + - starlette + - uvicorn + license: BSD-3-Clause + license_family: BSD + size: 14712 + timestamp: 1722520112550 +- kind: conda + name: starlette + version: 0.41.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/starlette-0.41.2-pyha770c72_0.conda + sha256: 02206e5369944e0fd29e4f5c8e9b51dd926a74a46b621a73323669ad404f1081 + md5: 287492bb6e159da4357a10a2bd05c13c + depends: + - anyio >=3.4.0,<5 + - python >=3.8 + - typing_extensions >=3.10.0 + license: BSD-3-Clause + license_family: BSD + size: 59059 + timestamp: 1730305803101 +- kind: conda + name: tk + version: 8.6.13 + build: h194ca79_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-h194ca79_0.conda + sha256: 7fa27cc512d3a783f38bd16bbbffc008807372499d5b65d089a8e43bde9db267 + md5: f75105e0585851f818e0009dd1dde4dc + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3351802 + timestamp: 1695506242997 +- kind: conda + name: tk + version: 8.6.13 + build: h5083fa2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + sha256: 72457ad031b4c048e5891f3f6cb27a53cb479db68a52d965f796910e71a403a8 + md5: b50a57ba89c32b62428b71a875291c9b + depends: + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3145523 + timestamp: 1699202432999 +- kind: conda + name: tk + version: 8.6.13 + build: noxft_h4845f30_101 + build_number: 101 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e + md5: d453b98d9c83e71da0741bb0ff4d76bc + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + size: 3318875 + timestamp: 1699202167581 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py312h8360d73_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tokenizers-0.20.3-py312h8360d73_0.conda + sha256: 2b48bbbcb2b08bc9039e5a5a5eabbf1eb1821795ff6f900b17d8d3d5c5c03d93 + md5: 1beb85f5436b30da8576a1af2a3d2103 + depends: + - __glibc >=2.17,<3.0.a0 + - huggingface_hub >=0.16.4,<1.0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 2238863 + timestamp: 1730868742992 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py312ha0d6ea1_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tokenizers-0.20.3-py312ha0d6ea1_0.conda + sha256: d24effa51dd060bdd0a2a532a200140874099a36da0dbf73a80a2056467bd7fd + md5: 5f8b2f868dce23e87f320d219f15157f + depends: + - huggingface_hub >=0.16.4,<1.0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.3.2,<4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + size: 2361365 + timestamp: 1730868864797 +- kind: conda + name: tokenizers + version: 0.20.3 + build: py312hf3e4074_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tokenizers-0.20.3-py312hf3e4074_0.conda + sha256: 36bfc57262489d8a730aa309e3694053405df57d42675d3c9f8e7ab45bde6a1f + md5: bf872619ecf7b22776aae2b09408266c + depends: + - __osx >=11.0 + - huggingface_hub >=0.16.4,<1.0 + - libcxx >=18 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: Apache-2.0 + license_family: APACHE + size: 1917015 + timestamp: 1730869025269 +- kind: conda + name: tornado + version: 6.4.1 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.1-py312h024a12e_1.conda + sha256: 5eefede1d8a2f55892bc582dbcb574b1806f19bc1e3939ce56b79721b9406db7 + md5: 967bc97bb9e258993289546479af971f + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 841722 + timestamp: 1724956439106 +- kind: conda + name: tornado + version: 6.4.1 + build: py312h52516f5_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.4.1-py312h52516f5_1.conda + sha256: 714e83cc01dd223ab6e3907843a7523fe745ed0841ee8ef2eae2ced0c485d0d8 + md5: 950b20707177dea3cb74f5ae9aac704d + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 841453 + timestamp: 1724957557137 +- kind: conda + name: tornado + version: 6.4.1 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.1-py312h66e93f0_1.conda + sha256: c0c9cc7834e8f43702956afaa5af7b0639c4835c285108a43e6b91687ce53ab8 + md5: af648b62462794649066366af4ecd5b0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 837665 + timestamp: 1724956252424 +- kind: conda + name: tqdm + version: 4.66.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.6-pyhd8ed1ab_0.conda + sha256: 32c39424090a8cafe7994891a816580b3bd253eb4d4f5473bdefcf6a81ebc061 + md5: 92718e1f892e1e4623dcc59b9f9c4e55 + depends: + - colorama + - python >=3.7 + license: MPL-2.0 or MIT + size: 89367 + timestamp: 1730145312554 +- kind: conda + name: traitlets + version: 5.14.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + sha256: 8a64fa0f19022828513667c2c7176cfd125001f3f4b9bc00d33732e627dd2592 + md5: 3df84416a021220d8b5700c613af2dc5 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 110187 + timestamp: 1713535244513 +- kind: conda + name: transformers + version: 4.46.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/transformers-4.46.2-pyhd8ed1ab_0.conda + sha256: e654adbaa80a65ffa2209465d23e136dee2d8b1ded3da425c1f8c3a9c3be56a6 + md5: 587e2e9014d6efc236029e9acd8332c2 + depends: + - datasets !=2.5.0 + - filelock + - huggingface_hub >=0.23.0,<1.0 + - numpy >=1.17 + - packaging >=20.0 + - python >=3.8 + - pyyaml >=5.1 + - regex !=2019.12.17 + - requests + - safetensors >=0.4.1 + - tokenizers >=0.20,<0.21 + - tqdm >=4.27 + license: Apache-2.0 + license_family: APACHE + size: 3659906 + timestamp: 1730868580651 +- kind: conda + name: typer + version: 0.12.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typer-0.12.5-pyhd8ed1ab_0.conda + sha256: da9ff9e27c5fa8268c2d5898335485a897d9496eef3b5b446cd9387a89d168de + md5: be70216cc1a5fe502c849676baabf498 + depends: + - python >=3.7 + - typer-slim-standard 0.12.5 hd8ed1ab_0 + license: MIT + license_family: MIT + size: 53350 + timestamp: 1724613663049 +- kind: conda + name: typer-slim + version: 0.12.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typer-slim-0.12.5-pyhd8ed1ab_0.conda + sha256: 7be1876627495047f3f07c52c93ddc2ae2017b93affe58110a5474e5ebcb2662 + md5: a46aa56c0ca7cc2bd38baffc2686f0a6 + depends: + - click >=8.0.0 + - python >=3.7 + - typing_extensions >=3.7.4.3 + constrains: + - rich >=10.11.0 + - typer >=0.12.5,<0.12.6.0a0 + - shellingham >=1.3.0 + license: MIT + license_family: MIT + size: 45641 + timestamp: 1724613646022 +- kind: conda + name: typer-slim-standard + version: 0.12.5 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/typer-slim-standard-0.12.5-hd8ed1ab_0.conda + sha256: bb298b116159ec1085f6b29eaeb982006651a0997eda08de8b70cfb6177297f3 + md5: 2dc1ee4046de0692077e9aa9ba351d36 + depends: + - rich + - shellingham + - typer-slim 0.12.5 pyhd8ed1ab_0 + license: MIT + license_family: MIT + size: 46817 + timestamp: 1724613648907 +- kind: conda + name: typing-extensions + version: 4.12.2 + build: hd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + sha256: d3b9a8ed6da7c9f9553c5fd8a4fca9c3e0ab712fa5f497859f82337d67533b73 + md5: 52d648bd608f5737b123f510bb5514b5 + depends: + - typing_extensions 4.12.2 pyha770c72_0 + license: PSF-2.0 + license_family: PSF + size: 10097 + timestamp: 1717802659025 +- kind: conda + name: typing_extensions + version: 4.12.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + sha256: 0fce54f8ec3e59f5ef3bb7641863be4e1bf1279623e5af3d3fa726e8f7628ddb + md5: ebe6952715e1d5eb567eeebf25250fa7 + depends: + - python >=3.8 + license: PSF-2.0 + license_family: PSF + size: 39888 + timestamp: 1717802653893 +- kind: conda + name: tzdata + version: 2024b + build: hc8b5060_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf + md5: 8ac3367aafb1cc0a068483c580af8015 + license: LicenseRef-Public-Domain + size: 122354 + timestamp: 1728047496079 +- kind: conda + name: urllib3 + version: 2.2.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + sha256: b6bb34ce41cd93956ad6eeee275ed52390fb3788d6c75e753172ea7ac60b66e5 + md5: 6b55867f385dd762ed99ea687af32a69 + depends: + - brotli-python >=1.0.9 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.8 + - zstandard >=0.18.0 + license: MIT + license_family: MIT + size: 98076 + timestamp: 1726496531769 +- kind: conda + name: uvicorn + version: 0.32.0 + build: pyh31011fe_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/uvicorn-0.32.0-pyh31011fe_1.conda + sha256: bc1dd02dfe8ba9654c7ba4f359af1a36f88fdc8299e57e25394c26075e7f5ff2 + md5: 3936b8ca7212040c07565e1379ced362 + depends: + - __unix + - click >=7.0 + - h11 >=0.8 + - python >=3.8 + - typing_extensions >=4.0 + license: BSD-3-Clause + license_family: BSD + size: 49065 + timestamp: 1730219789315 +- kind: conda + name: uvicorn-standard + version: 0.32.0 + build: h31011fe_1 + build_number: 1 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/uvicorn-standard-0.32.0-h31011fe_1.conda + sha256: 955132d5f09fab2041cb15fe7d85af4526d95b3629b96c90c8191c60001475a5 + md5: ee1094a994894ddd2cdf63174131a589 + depends: + - __unix + - httptools >=0.5.0 + - python-dotenv >=0.13 + - pyyaml >=5.1 + - uvicorn 0.32.0 pyh31011fe_1 + - uvloop >=0.14.0,!=0.15.0,!=0.15.1 + - watchfiles >=0.13 + - websockets >=10.4 + license: BSD-3-Clause + license_family: BSD + size: 7119 + timestamp: 1730219790085 +- kind: conda + name: uvloop + version: 0.21.0 + build: py312h0bf5046_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/uvloop-0.21.0-py312h0bf5046_1.conda + sha256: b1efa77aa4871d7bb09c8dd297fa9bd9070ba7f0f95f2d12ae9cdd31ce8b6b22 + md5: 4f5110253ba80ebf27e55c4ab333880a + depends: + - __osx >=11.0 + - libuv >=1.49.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT OR Apache-2.0 + size: 544097 + timestamp: 1730214653726 +- kind: conda + name: uvloop + version: 0.21.0 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/uvloop-0.21.0-py312h66e93f0_1.conda + sha256: 9337a80165fcf70b06b9d6ba920dad702260ca966419ae77560a15540e41ab72 + md5: 998e481e17c1b6a74572e73b06f2df08 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuv >=1.49.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT OR Apache-2.0 + size: 701355 + timestamp: 1730214506716 +- kind: conda + name: uvloop + version: 0.21.0 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/uvloop-0.21.0-py312hb2c0f52_1.conda + sha256: 807eede6698bd00a1d739a3e19ee6ae6a03a66d2ddd2ef150f2dfd198c3b0292 + md5: d83e107ba16c77aba2feec47b7b666a4 + depends: + - libgcc >=13 + - libuv >=1.49.2,<2.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT OR Apache-2.0 + size: 655266 + timestamp: 1730214606664 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py312h12e396e_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.24.0-py312h12e396e_1.conda + sha256: 04227e72c1e8c30afca18860491462461d35ffa1dba552770adce61794aa7114 + md5: fa5bb5b364b0f8162d67c31009c985c9 + depends: + - __glibc >=2.17,<3.0.a0 + - anyio >=3.0.0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 397205 + timestamp: 1725347165866 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py312h8cbf658_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/watchfiles-0.24.0-py312h8cbf658_1.conda + sha256: 0c6ce9bc28da2a1e9d04737fc1240f5aadf76df5482ee4c761422169a3bde8bb + md5: a698c65a64db774228eb585ff5dcfc8f + depends: + - anyio >=3.0.0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: MIT + license_family: MIT + size: 400026 + timestamp: 1725347309835 +- kind: conda + name: watchfiles + version: 0.24.0 + build: py312he431725_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/watchfiles-0.24.0-py312he431725_1.conda + sha256: e92ec8593fee0ce6cb2b565900eb9792c73efacc129d2bf92dba074bca505598 + md5: 7fd741404e6fcab22a988ee6742dc778 + depends: + - __osx >=11.0 + - anyio >=3.0.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 342896 + timestamp: 1725347401713 +- kind: conda + name: websockets + version: '13.1' + build: py312h024a12e_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-13.1-py312h024a12e_0.conda + sha256: 5e21d67cb8f6ed9433791235b6895b2623312dbaccd95201abba726ab6cf2027 + md5: fc2912e966527b1b2cc7a28c58e7b468 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 238360 + timestamp: 1727013548151 +- kind: conda + name: websockets + version: '13.1' + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/websockets-13.1-py312h66e93f0_0.conda + sha256: fd045d3de3b46bd9bbf39a8169b0ccbfb9087caeb036fed32a2dfbf33c9b05ee + md5: c2647bf776646075ccb357189aabdf54 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 238238 + timestamp: 1727013475463 +- kind: conda + name: websockets + version: '13.1' + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/websockets-13.1-py312hb2c0f52_0.conda + sha256: 966abae5f34144cba4efe6aa0a3184bcb57da10acb2542883201dd028f5e184c + md5: 20b7c990f0c25b3fc0e0d0bb4c6b57c8 + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 238046 + timestamp: 1727013505 +- kind: conda + name: wrapt + version: 1.16.0 + build: py312h024a12e_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/wrapt-1.16.0-py312h024a12e_1.conda + sha256: 54a5d3d9e1b45022b28c5ca3ceaa7ec2db4a40968b2b556804becfdff98f4efe + md5: f97c9abfeb8292f5f8353607ca8a1127 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + size: 59642 + timestamp: 1724958200454 +- kind: conda + name: wrapt + version: 1.16.0 + build: py312h66e93f0_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h66e93f0_1.conda + sha256: 3a15a399eb61a999f0f14b4d243acc14e2dff1ead92ef52fcff30c84be89b21c + md5: 2eebcffe80e2a7bb2f0a77e621a7f124 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + size: 62624 + timestamp: 1724958046744 +- kind: conda + name: wrapt + version: 1.16.0 + build: py312hb2c0f52_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/wrapt-1.16.0-py312hb2c0f52_1.conda + sha256: b6e1da6b700d489aa89599d46298dc6c16b34617ae1821a01c68015ebcdaa24d + md5: e30d2b17b3d1bf756ddc0e6d3a4dc79f + depends: + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + size: 62782 + timestamp: 1724958067507 +- kind: conda + name: xxhash + version: 0.8.2 + build: h31becfc_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/xxhash-0.8.2-h31becfc_0.conda + sha256: 4c526aed70b579d80e5c20d32130b6bc8bde59b3250d43c2b5269755f4da8a9b + md5: bb9faf6857108a9f62ebb4dab6ef05da + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 102442 + timestamp: 1689951682147 +- kind: conda + name: xxhash + version: 0.8.2 + build: hb547adb_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xxhash-0.8.2-hb547adb_0.conda + sha256: a70f59f7221ee72c45b39a6b36a33eb9c717ba01921cce1a3c361a4676979a2e + md5: 144cd3b88706507f332f5eb5fb83a33b + license: BSD-2-Clause + license_family: BSD + size: 97593 + timestamp: 1689951969732 +- kind: conda + name: xxhash + version: 0.8.2 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xxhash-0.8.2-hd590300_0.conda + sha256: 6fe74a8fd84ab0dc25e4dc3e0c22388dd8accb212897a208b14fe5d4fbb8fc2f + md5: f08fb5c89edfc4aadee1c81d4cfb1fa1 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 97691 + timestamp: 1689951608120 +- kind: conda + name: xz + version: 5.2.6 + build: h166bdaf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162 + md5: 2161070d867d1b1204ea749c8eec4ef0 + depends: + - libgcc-ng >=12 + license: LGPL-2.1 and GPL-2.0 + size: 418368 + timestamp: 1660346797927 +- kind: conda + name: xz + version: 5.2.6 + build: h57fd34a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec + md5: 39c6b54e94014701dd157f4f576ed211 + license: LGPL-2.1 and GPL-2.0 + size: 235693 + timestamp: 1660346961024 +- kind: conda + name: xz + version: 5.2.6 + build: h9cdd2b7_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/xz-5.2.6-h9cdd2b7_0.tar.bz2 + sha256: 93f58a7b393adf41fa007ac8c55978765e957e90cd31877ece1e5a343cb98220 + md5: 83baad393a31d59c20b63ba4da6592df + depends: + - libgcc-ng >=12 + license: LGPL-2.1 and GPL-2.0 + size: 440555 + timestamp: 1660348056328 +- kind: conda + name: yaml + version: 0.2.5 + build: h3422bc3_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h3422bc3_2.tar.bz2 + sha256: 93181a04ba8cfecfdfb162fc958436d868cc37db504c58078eab4c1a3e57fbb7 + md5: 4bb3f014845110883a3c5ee811fd84b4 + license: MIT + license_family: MIT + size: 88016 + timestamp: 1641347076660 +- kind: conda + name: yaml + version: 0.2.5 + build: h7f98852_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 + sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535 + md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 89141 + timestamp: 1641346969816 +- kind: conda + name: yaml + version: 0.2.5 + build: hf897c2e_2 + build_number: 2 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-hf897c2e_2.tar.bz2 + sha256: 8bc601d6dbe249eba44b3c456765265cd8f42ef1e778f8df9b0c9c88b8558d7e + md5: b853307650cb226731f653aa623936a4 + depends: + - libgcc-ng >=9.4.0 + license: MIT + license_family: MIT + size: 92927 + timestamp: 1641347626613 +- kind: conda + name: yarl + version: 1.16.0 + build: py312h0bf5046_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/yarl-1.16.0-py312h0bf5046_0.conda + sha256: 2485912fa1c1acf51501519cd4d0253234f7e5b243093985b26ce167fdd67407 + md5: 81e954d5e6d3465d00f040b8ac1a8f67 + depends: + - __osx >=11.0 + - idna >=2.0 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 138281 + timestamp: 1729798786022 +- kind: conda + name: yarl + version: 1.16.0 + build: py312h66e93f0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.16.0-py312h66e93f0_0.conda + sha256: e9718b1f67f7359dee66995164ff734890066ad2eecb483b08f3f35b3f813c2d + md5: c3f4a6b56026c22319bf31514662b283 + depends: + - __glibc >=2.17,<3.0.a0 + - idna >=2.0 + - libgcc >=13 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 147820 + timestamp: 1729798523861 +- kind: conda + name: yarl + version: 1.16.0 + build: py312hb2c0f52_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/yarl-1.16.0-py312hb2c0f52_0.conda + sha256: ee59521491ba9658a45a6c469cf1046c135c90f03f725caba76057a4d346c3a4 + md5: 0cf6a3caac35f0c668b4eaffd18d74c9 + depends: + - idna >=2.0 + - libgcc >=13 + - multidict >=4.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 145651 + timestamp: 1729798643724 +- kind: conda + name: zeromq + version: 4.3.5 + build: h3b0a872_6 + build_number: 6 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h3b0a872_6.conda + sha256: e67288b1c98a31ee58a5c07bdd873dbe08e75f752e1ad605d5e8c0697339903e + md5: 113506c8d2d558e733f5c38f6bf08c50 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + license: MPL-2.0 + license_family: MOZILLA + size: 335528 + timestamp: 1728364029042 +- kind: conda + name: zeromq + version: 4.3.5 + build: h5efb499_6 + build_number: 6 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-h5efb499_6.conda + sha256: 7cf61f742757ebb8773c5c96a9d768e06a288a0b9bd95ba212dccd17fae25abb + md5: c395b75ab44b4f82e5531de2cf9d20ba + depends: + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libsodium >=1.0.20,<1.0.21.0a0 + - libstdcxx >=13 + license: MPL-2.0 + license_family: MOZILLA + size: 371083 + timestamp: 1728368602099 +- kind: conda + name: zeromq + version: 4.3.5 + build: h9f5b81c_6 + build_number: 6 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h9f5b81c_6.conda + sha256: 5c5061c976141eccbbb2aec21483ddd10fd1df4fd9bcf638e3fd57b2bd85721f + md5: 84121ef1717cdfbecedeae70142706cc + depends: + - __osx >=11.0 + - krb5 >=1.21.3,<1.22.0a0 + - libcxx >=17 + - libsodium >=1.0.20,<1.0.21.0a0 + license: MPL-2.0 + license_family: MOZILLA + size: 280870 + timestamp: 1728363954972 +- kind: conda + name: zipp + version: 3.20.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + sha256: 1e84fcfa41e0afdd87ff41e6fbb719c96a0e098c1f79be342293ab0bd8dea322 + md5: 4daaed111c05672ae669f7036ee5bba3 + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 21409 + timestamp: 1726248679175 +- kind: conda + name: zstandard + version: 0.23.0 + build: py312h15fbf35_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.23.0-py312h15fbf35_1.conda + sha256: d00ca25c1e28fd31199b26a94f8c96574475704a825d244d7a6351ad3745eeeb + md5: a4cde595509a7ad9c13b1a3809bcfe51 + depends: + - __osx >=11.0 + - cffi >=1.11 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 330788 + timestamp: 1725305806565 +- kind: conda + name: zstandard + version: 0.23.0 + build: py312hb698573_1 + build_number: 1 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zstandard-0.23.0-py312hb698573_1.conda + sha256: 2681c2a249752bdc7978e59ee2f34fcdfcbfda80029b84b8e5fec8dbc9e3af25 + md5: ffcb8e97e62af42075e0e5f46bb9856e + depends: + - cffi >=1.11 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 392496 + timestamp: 1725305808244 +- kind: conda + name: zstandard + version: 0.23.0 + build: py312hef9b889_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.23.0-py312hef9b889_1.conda + sha256: b97015e146437283f2213ff0e95abdc8e2480150634d81fbae6b96ee09f5e50b + md5: 8b7069e9792ee4e5b4919a7a306d2e67 + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=1.11 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.6,<1.5.7.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + size: 419552 + timestamp: 1725305670210 +- kind: conda + name: zstd + version: 1.5.6 + build: h02f22dd_0 + subdir: linux-aarch64 + url: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.6-h02f22dd_0.conda + sha256: 484f9d0722c77685ae379fbff3ccd662af9ead7e59eb39cd6d0c677cdf25ff6c + md5: be8d5f8cf21aed237b8b182ea86b3dd6 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 539937 + timestamp: 1714723130243 +- kind: conda + name: zstd + version: 1.5.6 + build: ha6fb4c9_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda + sha256: c558b9cc01d9c1444031bd1ce4b9cff86f9085765f17627a6cd85fc623c8a02b + md5: 4d056880988120e29d75bfff282e0f45 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 554846 + timestamp: 1714722996770 +- kind: conda + name: zstd + version: 1.5.6 + build: hb46c0d2_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda + sha256: 2d4fd1ff7ee79cd954ca8e81abf11d9d49954dd1fef80f27289e2402ae9c2e09 + md5: d96942c06c3e84bfcc5efb038724a7fd + depends: + - __osx >=11.0 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 405089 + timestamp: 1714723101397 diff --git a/proposals/mojo-and-dynamism.md b/proposals/mojo-and-dynamism.md index f1c48bc5e1..47a9afd38d 100644 --- a/proposals/mojo-and-dynamism.md +++ b/proposals/mojo-and-dynamism.md @@ -2,7 +2,7 @@ Mojo has the lofty goal of being a simple, powerful, and easy-to-use language like Python but with features that allow programmers to reach the performance of -C. One of Mojo's approaches is to start from being a superset of Python and +C. One of Mojo's approaches is to start by adopting the syntax of Python and provide an incremental typing-for-performance story where the performance of Python code can be incrementally improved by adding type annotations, explicit variable declarations and error handling, switching `def` to `fn`, and so on. @@ -47,10 +47,10 @@ would be member functions have their first argument bound to the new class instance through the Python [descriptor mechanism](https://docs.python.org/3/howto/descriptor.html#invocation-from-a-class). -Mojo as a superset of Python has to support the full "hash-table" dynamism in -classes for compatibility with Python, but reference semantic classes are also -important for systems programming and application programming, where this level -of dynamism isn't needed and is actively harmful. We need to decide how to +Mojo adopting the syntax of Python means we have to support the full "hash-table" +dynamism in classes for compatibility with Python, but reference semantic classes +are also important for systems programming and application programming, where this +level of dynamism isn't needed and is actively harmful. We need to decide how to handle this. One approach is to provide a decorator on class definitions (which can be opt-in diff --git a/proposals/project-manifest-and-build-tool.md b/proposals/project-manifest-and-build-tool.md index 1899b0ae3d..c2d5b5c661 100644 --- a/proposals/project-manifest-and-build-tool.md +++ b/proposals/project-manifest-and-build-tool.md @@ -98,7 +98,5 @@ Below are some topics that we would love to hear community members’ opinions o favor of doing so, but on the other hand, we see tradeoffs as well, and a purely declarative form could be used. - Any other thoughts you wish to contribute — we are build systems and language - tooling nerds! Send us your thoughts on [the GitHub Discussion thread - associated with this - proposal](https://github.com/modularml/mojo/discussions/1785), and let’s geek - out. + tooling nerds! Share your thoughts in [our Discord server](https://modul.ar/discord), + and let’s geek out. diff --git a/proposals/ref-convention.md b/proposals/ref-convention.md index c67db5b262..3d69a9f9ce 100644 --- a/proposals/ref-convention.md +++ b/proposals/ref-convention.md @@ -327,7 +327,7 @@ commence! 👏 We have proposed two new conventions: an argument convention and a result convention. For both of these conventions, we have used the keyword `ref`. This terminology has precedent in C++, C#, and many other languages. However, Mojo -aims to be a superset of Python, and in Python, a "reference" is understood to +aims to adopt the syntax of Python, and in Python, a "reference" is understood to be a pointer to a heap-allocated, garbage-collected instance of a class. The argument conventions that we've proposed are entirely unrelated to that feature. Therefore, it seems wise to consider other syntaxes for the conventions. We diff --git a/stdlib/COMPATIBLE_COMPILER_VERSION b/stdlib/COMPATIBLE_COMPILER_VERSION deleted file mode 100644 index bfe90e23e4..0000000000 --- a/stdlib/COMPATIBLE_COMPILER_VERSION +++ /dev/null @@ -1 +0,0 @@ -2024.10.2105 diff --git a/stdlib/benchmarks/README.md b/stdlib/benchmarks/README.md index dbae23362f..54c94807f5 100644 --- a/stdlib/benchmarks/README.md +++ b/stdlib/benchmarks/README.md @@ -20,16 +20,16 @@ internally. If you want to just compile and run all of the benchmarks as-is, there is a script provided [here](../../stdlib/scripts/run-benchmarks.sh). This script builds the open source `stdlib.mojopkg` and then executes -all of the benchmarks. Note that, by default, the executor (`llvm-lit`) -will run all of these benchmarks in parallel. That is not terribly useful -in practice for doing performance comparisons. When doing A-B comparisons, -I recommend just rebuilding the `stdlib.mojopkg` if needed using -the [build-stdlib script](../../stdlib/scripts/build-stdlib.sh) and then -just running `mojo` directly for the individual benchmark file. For example, -`mojo stdlib/benchmarks/collections/bench_dict.mojo` as run from the root -of the repo. As part of the benchmark configs, there is a mechanism -for specifying the number of repetitions to run the benchmark, warmup iterations, -and other things. +all of the benchmarks sequentially. The script also allows specifying a +subdirectory or a file to run. + +Running e.g. `magic run mojo run stdlib/benchmarks/collections/bench_dict.mojo` +makes the linker use the existing branch that the compiler is on. If you wish to +test changes you are making on the current branch, remove the `-t` flag on top +of the benchmark file (`# RUN: %mojo-no-debug %s -t`) then run: +`magic run stdlib/scripts/run-benchmarks.sh +stdlib/benchmarks/collections/bench_dict.mojo`. +Remember to replace the `-t` flag again before pushing any code. ## How to write effective benchmarks diff --git a/stdlib/benchmarks/algorithm/bench_elementwise.mojo b/stdlib/benchmarks/algorithm/bench_elementwise.mojo index f7e753efbd..42ab4732f0 100644 --- a/stdlib/benchmarks/algorithm/bench_elementwise.mojo +++ b/stdlib/benchmarks/algorithm/bench_elementwise.mojo @@ -11,6 +11,8 @@ # limitations under the License. # ===----------------------------------------------------------------------=== # # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from sys import simdwidthof from algorithm import elementwise diff --git a/stdlib/benchmarks/algorithm/bench_vectorize.mojo b/stdlib/benchmarks/algorithm/bench_vectorize.mojo deleted file mode 100644 index 6d6f59bf2f..0000000000 --- a/stdlib/benchmarks/algorithm/bench_vectorize.mojo +++ /dev/null @@ -1,375 +0,0 @@ -# ===----------------------------------------------------------------------=== # -# Copyright (c) 2024, Modular Inc. All rights reserved. -# -# Licensed under the Apache License v2.0 with LLVM Exceptions: -# https://llvm.org/LICENSE.txt -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ===----------------------------------------------------------------------=== # -# ===----------------------------------------------------------------------=== # -# -# Benchmarking performance of vectorize over basic operations -# -# ===----------------------------------------------------------------------=== # - -# RUN: %mojo-no-debug %s -t | FileCheck %s -# CHECK: Benchmark results - -from random import rand -from sys import simdwidthof - -from algorithm import vectorize -from benchmark import ( - Bench, - Bencher, - BenchId, - BenchMetric, - ThroughputMeasure, - Unit, - keep, - run, -) -from buffer import Buffer -from memory import UnsafePointer, memset_zero - - -@value -struct Op(Stringable): - var op_code: Int - alias add = 0 - alias sub = 1 - alias mul = 2 - alias div = 3 - alias fma = 4 - alias ld = 5 - alias st = 6 - - @always_inline - fn __eq__(self, other: Op) -> Bool: - return self.op_code == other.op_code - - @always_inline - fn __str__(self) -> String: - var op_list = List[String]( - "add", "sub", "mul", "div", "fma", "ld", "st" - ) - return "op." + op_list[self.op_code] - - -fn test_vectorize[ - N: Int, - simd_width: Int = 1, - op: Op = Op.add, - const_operand: Bool = True, - dtype: DType = DType.float32, - unroll_factor: Int = 1, -](inout m: Bench) raises: - constrained[(N % simd_width) == 0]() - # Create a mem of size N - alias buffer_align = 64 - var vector = UnsafePointer[Scalar[dtype], alignment=buffer_align].alloc(N) - var result = UnsafePointer[Scalar[dtype], alignment=buffer_align].alloc(N) - - @always_inline - @parameter - fn ld_vector[simd_width: Int](idx: Int): - vector.store(idx + 1, SIMD[dtype, simd_width](idx)) - - @always_inline - @parameter - fn st_vector[simd_width: Int](idx: Int): - result.store(idx, vector.load[width=simd_width](idx)) - - @__copy_capture(vector) - @always_inline - @parameter - fn arithmetic_const[simd_width: Int](idx: Int): - alias x: Scalar[dtype] = 2 - alias y: Scalar[dtype] = 3 - - @parameter - if op == Op.add: - vector.store(idx, vector.load[width=simd_width](idx) + x) - elif op == Op.sub: - vector.store(idx, vector.load[width=simd_width](idx) - x) - elif op == Op.mul: - vector.store(idx, vector.load[width=simd_width](idx) * x) - elif op == Op.div: - vector.store(idx, vector.load[width=simd_width](idx) / x) - elif op == Op.fma: - vector.store(idx, vector.load[width=simd_width](idx) * x + y) - - @__copy_capture(vector) - @always_inline - @parameter - fn arithmetic_vector[simd_width: Int](idx: Int): - @parameter - if op == Op.add: - vector.store( - idx, - vector.load[width=simd_width](idx) - + vector.load[width=simd_width](idx), - ) - elif op == Op.sub: - vector.store( - idx, - vector.load[width=simd_width](idx) - - vector.load[width=simd_width](idx), - ) - elif op == Op.mul: - vector.store( - idx, - vector.load[width=simd_width](idx) - * vector.load[width=simd_width](idx), - ) - elif op == Op.div: - vector.store( - idx, - vector.load[width=simd_width](idx) - / vector.load[width=simd_width](idx), - ) - elif op == Op.fma: - vector.store( - idx, - vector.load[width=simd_width](idx) - * vector.load[width=simd_width](idx) - + vector.load[width=simd_width](idx), - ) - - @always_inline - @parameter - fn bench_(inout b: Bencher): - @always_inline - @parameter - fn call_fn(): - @parameter - if op == Op.ld: - vectorize[ld_vector, simd_width, unroll_factor=unroll_factor](N) - elif op == Op.st: - vectorize[st_vector, simd_width, unroll_factor=unroll_factor](N) - else: - - @parameter - if const_operand: - vectorize[ - arithmetic_const, - simd_width, - unroll_factor=unroll_factor, - ](N) - else: - vectorize[ - arithmetic_vector, - simd_width, - unroll_factor=unroll_factor, - ](N) - keep(vector) - - b.iter[call_fn]() - - var bench_id = BenchId( - str(op) - + ", N=" - + str(N) - + ", simd=" - + str(simd_width) - + ", const_operand=" - + str(const_operand) - + ", dtype=" - + str(dtype) - + ", unroll_factor=" - + str(unroll_factor) - ) - - m.bench_function[bench_]( - bench_id, ThroughputMeasure(BenchMetric.elements, N) - ) - vector.free() - result.free() - - -# TODO: move this function to a common module for benchmarking. -@always_inline -fn unroll_nested_call[ - func: fn[List[Int]] () raises capturing [_] -> None, - count: List[Int], # TODO: a better datatype to use? e.g., Dim? - loop_idx: Int = 0, - index_prev: List[Int] = List[Int](), -]() raises: - """Fully unroll a nested loop of depth `depth` and call function `func` - at the innermost loop with a List of indices from all levels as arguments. - - for loop_idx0 in range(count[0]): - for loop_idx1 in range(count[1]): - for loop_idx2 in range(count[2]): - func(List[loop_idx0, loop_idx1, loop_idx2]) - - Params: - - func: function to call at the innermost loop. - - count: List[Int] contains the total count of iterations for each loop, - outmost loop is at index=0, inner-most loop at index=depth-1 - - loop_idx: index of the current loop - - index_prev: List[Int] of all indices from outer loops. - """ - alias depth = len(count) - - @always_inline - @parameter - fn append_index(x: List[Int], y: Int) -> List[Int]: - var z = x - z.append(y) - return z - - @parameter - for i in range(count[loop_idx]): - alias index = append_index(index_prev, i) - - @parameter - if loop_idx < depth - 1: - unroll_nested_call[func, count, loop_idx + 1, index]() - else: - func[index]() - - -fn bench_compare() raises: - alias type = DType.uint8 - alias width = simdwidthof[type]() - alias unit = Unit.ns - # increasing will reduce the benefit of passing the size as a parameter - alias multiplier = 2 - # Add .5 of the elements that fit into a simd register - alias size: Int = int(multiplier * width + (width * 0.5)) - alias unroll_factor = 2 - alias its = 1000 - - var p1 = UnsafePointer[Scalar[type]].alloc(size) - var p2 = UnsafePointer[Scalar[type]].alloc(size) - print("Benchmark results") - rand(p1, size) - - @parameter - fn arg_size(): - @parameter - fn closure[width: Int](i: Int): - p2.store( - i, - p1.load[width=width](i) + p2.load[width=width](i), - ) - - for i in range(its): - vectorize[closure, width](size) - - @parameter - fn param_size(): - @parameter - fn closure[width: Int](i: Int): - p2.store( - i, - p1.load[width=width](i) + p2.load[width=width](i), - ) - - for i in range(its): - vectorize[closure, width, size=size]() - - @parameter - fn arg_size_unroll(): - @parameter - fn closure[width: Int](i: Int): - p2.store( - i, - p1.load[width=width](i) + p2.load[width=width](i), - ) - - for i in range(its): - vectorize[closure, width, unroll_factor=unroll_factor](size) - - @parameter - fn param_size_unroll(): - @parameter - fn closure[width: Int](i: Int): - p2.store( - i, - p1.load[width=width](i) + p2.load[width=width](i), - ) - - for i in range(its): - vectorize[closure, width, size=size, unroll_factor=unroll_factor]() - - var arg = run[arg_size](max_runtime_secs=0.5).mean(unit) - print(p2.load[width=width]()) - memset_zero(p2, size) - - var param = run[param_size](max_runtime_secs=0.5).mean(unit) - print(p2.load[width=width]()) - memset_zero(p2, size) - - var arg_unroll = run[arg_size_unroll](max_runtime_secs=0.5).mean(unit) - print(p2.load[width=width]()) - memset_zero(p2, size) - - var param_unroll = run[param_size_unroll](max_runtime_secs=0.5).mean(unit) - print(p2.load[width=width]()) - - print( - "calculating", - size, - "elements,", - width, - "elements fit into the SIMD register\n", - ) - - print(" size as argument:", arg, unit) - print(" unrolled:", arg_unroll, unit) - print() - print("size as parameter:", param, unit) - print(" unrolled:", param_unroll, unit) - print( - "\nPassing size as a parameter and unrolling is", - arg_unroll / param_unroll, - "x faster", - ) - p1.free() - p2.free() - - -fn main() raises: - alias vec_size_list = List[Int](512, 2048) - alias simd_width_list = List[Int](1, 2, 4, 8) - alias op_list = List[Op](Op.add, Op.mul, Op.fma, Op.ld) - alias const_operand_list = List[Bool](True) - alias dtype_list = List[DType](DType.float32) - alias unroll_factor_list = List[Int](1, 2, 4) - - var m = Bench() - - @always_inline - @parameter - fn callback[index: List[Int]]() raises: - @parameter - if len(index) == 6: - alias vec_size = vec_size_list[index[0]] - alias simd_width = simd_width_list[index[1]] - alias op_code = op_list[index[2]] - alias const_op = const_operand_list[index[3]] - alias dtype = dtype_list[index[4]] - alias unroll_factor = unroll_factor_list[index[5]] - test_vectorize[ - vec_size, simd_width, op_code, const_op, dtype, unroll_factor - ](m) - - unroll_nested_call[ - callback, - List[Int]( - len(vec_size_list), - len(simd_width_list), - len(op_list), - len(const_operand_list), - len(dtype_list), - len(unroll_factor_list), - ), - ]() - - m.dump_report() diff --git a/stdlib/benchmarks/builtin/bench_int.mojo b/stdlib/benchmarks/builtin/bench_int.mojo index 39aee76006..5a469936f8 100644 --- a/stdlib/benchmarks/builtin/bench_int.mojo +++ b/stdlib/benchmarks/builtin/bench_int.mojo @@ -11,6 +11,8 @@ # limitations under the License. # ===----------------------------------------------------------------------=== # # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from benchmark import Bench, BenchConfig, Bencher, BenchId diff --git a/stdlib/benchmarks/builtin/bench_sort.mojo b/stdlib/benchmarks/builtin/bench_sort.mojo index 74c7c101b3..a2a5ebc4cf 100644 --- a/stdlib/benchmarks/builtin/bench_sort.mojo +++ b/stdlib/benchmarks/builtin/bench_sort.mojo @@ -10,8 +10,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # - # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from benchmark import Bench, Bencher, BenchId, keep, BenchConfig, Unit, run from memory import UnsafePointer diff --git a/stdlib/benchmarks/collections/bench_dict.mojo b/stdlib/benchmarks/collections/bench_dict.mojo index 91c18e9aeb..d8c782846e 100644 --- a/stdlib/benchmarks/collections/bench_dict.mojo +++ b/stdlib/benchmarks/collections/bench_dict.mojo @@ -11,6 +11,8 @@ # limitations under the License. # ===----------------------------------------------------------------------=== # # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from random import * @@ -75,6 +77,7 @@ fn bench_dict_lookup[size: Int](inout b: Bencher) raises: var items = make_dict[size]() var closest_divisor = ceil(100 / size) + @__copy_capture(closest_divisor) @always_inline @parameter fn call_fn() raises: @@ -125,54 +128,7 @@ def main(): seed() var m = Bench(BenchConfig(num_repetitions=1)) m.bench_function[bench_dict_init](BenchId("bench_dict_init")) - alias sizes = ( - 10, - 20, - 30, - 40, - 50, - 60, - 70, - 80, - 90, - 100, - 200, - 300, - 400, - 500, - 600, - 700, - 800, - 900, - 1000, - 2000, - 3000, - 4000, - 5000, - 6000, - 7000, - 8000, - 9000, - 10_000, - 20_000, - 30_000, - 40_000, - 50_000, - 60_000, - 70_000, - 80_000, - 90_000, - 100_000, - 200_000, - 300_000, - 400_000, - 500_000, - 600_000, - 700_000, - 800_000, - 900_000, - 1_000_000, - ) + alias sizes = (10, 30, 50, 100, 1000, 10_000, 100_000, 1_000_000) @parameter for i in range(len(sizes)): diff --git a/stdlib/benchmarks/collections/bench_string.mojo b/stdlib/benchmarks/collections/bench_string.mojo new file mode 100644 index 0000000000..be397e082e --- /dev/null +++ b/stdlib/benchmarks/collections/bench_string.mojo @@ -0,0 +1,297 @@ +# ===----------------------------------------------------------------------=== # +# Copyright (c) 2024, Modular Inc. All rights reserved. +# +# Licensed under the Apache License v2.0 with LLVM Exceptions: +# https://llvm.org/LICENSE.txt +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ===----------------------------------------------------------------------=== # +# RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. + +from benchmark import Bench, BenchConfig, Bencher, BenchId, Unit, keep, run +from random import random_si64, seed +from pathlib import _dir_of_current_file +from collections import Optional, Dict +from os import abort +from collections.string import String +from utils._utf8_validation import _is_valid_utf8 + + +# ===----------------------------------------------------------------------===# +# Benchmark Data +# ===----------------------------------------------------------------------===# +fn make_string[ + length: UInt = 0 +](filename: StringLiteral = "UN_charter_EN.txt") -> String: + """Make a `String` made of items in the `./data` directory. + + Parameters: + length: The length in bytes of the resulting `String`. If == 0 -> the + whole file content. + + Args: + filename: The name of the file inside the `./data` directory. + """ + + try: + directory = _dir_of_current_file() / "data" + var f = open(directory / filename, "rb") + + @parameter + if length > 0: + var items = f.read_bytes(length) + i = 0 + while length > len(items): + items.append(items[i]) + i = i + 1 if i < len(items) - 1 else 0 + items.append(0) + return String(items^) + else: + return String(f.read_bytes()) + except e: + print(e, file=2) + return abort[String]() + + +# ===----------------------------------------------------------------------===# +# Benchmark string init +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_init(inout b: Bencher) raises: + @always_inline + @parameter + fn call_fn(): + for _ in range(1000): + var d = String() + keep(d._buffer.data) + + b.iter[call_fn]() + + +# ===----------------------------------------------------------------------===# +# Benchmark string count +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_count[ + length: UInt = 0, + filename: StringLiteral = "UN_charter_EN", + sequence: StringLiteral = "a", +](inout b: Bencher) raises: + var items = make_string[length](filename + ".txt") + + @always_inline + @parameter + fn call_fn() raises: + var amnt = items.count(sequence) + keep(amnt) + + b.iter[call_fn]() + keep(bool(items)) + + +# ===----------------------------------------------------------------------===# +# Benchmark string split +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_split[ + length: UInt = 0, + filename: StringLiteral = "UN_charter_EN", + sequence: Optional[StringLiteral] = None, +](inout b: Bencher) raises: + var items = make_string[length](filename + ".txt") + + @always_inline + @parameter + fn call_fn() raises: + var res: List[String] + + @parameter + if sequence: + res = items.split(sequence.value()) + else: + res = items.split() + keep(res.data) + + b.iter[call_fn]() + keep(bool(items)) + + +# ===----------------------------------------------------------------------===# +# Benchmark string splitlines +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_splitlines[ + length: UInt = 0, filename: StringLiteral = "UN_charter_EN" +](inout b: Bencher) raises: + var items = make_string[length](filename + ".txt") + + @always_inline + @parameter + fn call_fn() raises: + var res = items.splitlines() + keep(res.data) + + b.iter[call_fn]() + keep(bool(items)) + + +# ===----------------------------------------------------------------------===# +# Benchmark string lower +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_lower[ + length: UInt = 0, filename: StringLiteral = "UN_charter_EN" +](inout b: Bencher) raises: + var items = make_string[length](filename + ".txt") + + @always_inline + @parameter + fn call_fn() raises: + var res = items.lower() + keep(res._buffer.data) + + b.iter[call_fn]() + keep(bool(items)) + + +# ===----------------------------------------------------------------------===# +# Benchmark string upper +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_upper[ + length: UInt = 0, filename: StringLiteral = "UN_charter_EN" +](inout b: Bencher) raises: + var items = make_string[length](filename + ".txt") + + @always_inline + @parameter + fn call_fn() raises: + var res = items.upper() + keep(res._buffer.data) + + b.iter[call_fn]() + keep(bool(items)) + + +# ===----------------------------------------------------------------------===# +# Benchmark string replace +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_replace[ + length: UInt = 0, + filename: StringLiteral = "UN_charter_EN", + old: StringLiteral = "a", + new: StringLiteral = "A", +](inout b: Bencher) raises: + var items = make_string[length](filename + ".txt") + + @always_inline + @parameter + fn call_fn() raises: + var res = items.replace(old, new) + keep(res._buffer.data) + + b.iter[call_fn]() + keep(bool(items)) + + +# ===----------------------------------------------------------------------===# +# Benchmark string _is_valid_utf8 +# ===----------------------------------------------------------------------===# +@parameter +fn bench_string_is_valid_utf8[ + length: UInt = 0, filename: StringLiteral = "UN_charter_EN" +](inout b: Bencher) raises: + var items = make_string[length](filename + ".html") + + @always_inline + @parameter + fn call_fn() raises: + var res = _is_valid_utf8(items.as_bytes()) + keep(res) + + b.iter[call_fn]() + keep(bool(items)) + + +# ===----------------------------------------------------------------------===# +# Benchmark Main +# ===----------------------------------------------------------------------===# +def main(): + seed() + var m = Bench(BenchConfig(num_repetitions=5)) + alias filenames = ( + "UN_charter_EN", + "UN_charter_ES", + "UN_charter_AR", + "UN_charter_RU", + "UN_charter_zh-CN", + ) + alias old_chars = ("a", "ó", "ل", "и", "一") + alias new_chars = ("A", "Ó", "ل", "И", "一") + alias lengths = (10, 30, 50, 100, 1000, 10_000, 100_000, 1_000_000) + """At an average 5 letters per word and 300 words per page + (in the English language): + + - 10: 2 words + - 30: 6 words + - 50: 10 words + - 100: 20 words + - 1000: ~ 1/2 page (200 words) + - 10_000: ~ 7 pages (2k words) + - 100_000: ~ 67 pages (20k words) + - 1_000_000: ~ 667 pages (200k words) + """ + + m.bench_function[bench_string_init](BenchId("bench_string_init")) + + @parameter + for i in range(len(lengths)): + alias length = lengths.get[i, Int]() + + @parameter + for j in range(len(filenames)): + alias fname = filenames.get[j, StringLiteral]() + alias old = old_chars.get[j, StringLiteral]() + alias new = new_chars.get[j, StringLiteral]() + suffix = "[" + str(length) + "]" # "(" + fname + ")" + m.bench_function[bench_string_count[length, fname, old]]( + BenchId("bench_string_count" + suffix) + ) + m.bench_function[bench_string_split[length, fname, old]]( + BenchId("bench_string_split" + suffix) + ) + m.bench_function[bench_string_split[length, fname]]( + BenchId("bench_string_split_none" + suffix) + ) + m.bench_function[bench_string_splitlines[length, fname]]( + BenchId("bench_string_splitlines" + suffix) + ) + m.bench_function[bench_string_lower[length, fname]]( + BenchId("bench_string_lower" + suffix) + ) + m.bench_function[bench_string_upper[length, fname]]( + BenchId("bench_string_upper" + suffix) + ) + m.bench_function[bench_string_replace[length, fname, old, new]]( + BenchId("bench_string_replace" + suffix) + ) + m.bench_function[bench_string_is_valid_utf8[length, fname]]( + BenchId("bench_string_is_valid_utf8" + suffix) + ) + + results = Dict[String, (Float64, Int)]() + for info in m.info_vec: + n = info[].name + time = info[].result.mean("ms") + avg, amnt = results.get(n, (Float64(0), 0)) + results[n] = ((avg * amnt + time) / (amnt + 1), amnt + 1) + print("") + for k_v in results.items(): + print(k_v[].key, k_v[].value[0], sep=",") diff --git a/stdlib/benchmarks/collections/data/README.md b/stdlib/benchmarks/collections/data/README.md new file mode 100644 index 0000000000..ca0d47b3f8 --- /dev/null +++ b/stdlib/benchmarks/collections/data/README.md @@ -0,0 +1,9 @@ +# Data for benchmarking collections + +As realistic as possible datasets. + +## UN charter + +Taken from the official [UN website](https://www.un.org/en/about-us/un-charter/full-text) +with the language abbreviations following ISO 639-1 except simplified mandarin +chinese (zh-CN). diff --git a/stdlib/benchmarks/collections/data/UN_charter_AR.html b/stdlib/benchmarks/collections/data/UN_charter_AR.html new file mode 100644 index 0000000000..b85d4cdb3f --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_AR.html @@ -0,0 +1,2850 @@ + + + + + + + + + + + + + + + + + + + + + ميثاق الأمم المتحدة (النص الكامل) | الأمم المتحدة + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + +
+
+ + +
+ + + + + + + + + + +
+
+
+ +
+ + +

ميثاق الأمم المتحدة (النص الكامل)

+ + + + +
+
+ + +
+ + + + +
+
+
+

الديباجة

+ +

نحن شعوب الأمم المتحدة وقد آلينا على أنفسنا

+ +

أن ننقذ الأجيال المقبلة من ويلات الحرب التي في خلال جيل واحد جلبت على الإنسانية مرتين أحزاناً يعجز عنها الوصف،

+ +

وأن نؤكد من جديد إيماننا بالحقوق الأساسية للإنسان وبكرامة الفرد وقدره وبما للرجال والنساء والأمم كبيرها وصغيرها من حقوق متساوية،

+ +

وأن نبيّن الأحوال التي يمكن في ظلها تحقيق العدالة واحترام الالتزامات الناشئة عن المعاهدات وغيرها من مصادر القانون الدولي،

+ +

وأن ندفع بالرقي الاجتماعي قدماً، وأن نرفع مستوى الحياة في جو من الحرية أفسح.

+ +

وفي سبيل هذه الغايات اعتزمنا

+ +

أن نأخذ أنفسنا بالتسامح، وأن نعيش معاً في سلام وحسن جوار ،

+ +

وأن نضم قوانا كي نحتفظ بالسلم والأمن الدولي،

+ +

وأن نكفل بقبولنا مبادئ معيّنة ورسم الخطط اللازمة لها ألاّ تستخدم القوة المسلحة في غير المصلحة المشتركة ،

+ +

وأن نستخدم الأداة الدولية في ترقية الشؤون الاقتصادية والاجتماعية للشعوب جميعها،

+ +

قد قرّرنا أن نوحّد جهودنا لتحقيق هذه الأغراض

+ +

ولهذا فإن حكوماتنا المختلفة على يد مندوبيها المجتمعين في مدينة سان فرانسيسكو الذين قدّموا وثائق التفويض المستوفية للشرائط، قد ارتضت ميثاق الأمم المتحدة هذا، وأنشأت بمقتضاه هيئة دولية تُسمّى "الأمم المتحدة".

+ +

الفصل الأول: مقاصد الهيئة ومبادئها

+ +

المادة 1

+ +

مقاصـد الأمـم المتحدة هي:

+ +
    +
  1. +

    حفظ السلم والأمن الدولي، وتحقيقاً لهذه الغاية تتخذ الهيئة التدابير المشتركة الفعّالة لمنع الأسباب التي تهدد السلم ولإزالتها، وتقمع أعمال العدوان وغيرها من وجوه الإخلال بالسلم، وتتذرّع بالوسائل السلمية، وفقاً لمبادئ العدل والقانون الدولي، لحل المنازعات الدولية التي قد تؤدي إلى الإخلال بالسلم أو لتسويتها.

    +
  2. +
  3. +

    إنماء العلاقات الودية بين الأمم على أساس احترام المبدأ الذي يقضي بالتسوية في الحقوق بين الشعوب وبأن يكون لكل منها تقرير مصيرها، وكذلك اتخاذ التدابير الأخرى الملائمة لتعزيز السلم العام.

    +
  4. +
  5. +

    تحقيق التعاون الدولي على حل المسائل الدولية ذات الصبغة الاقتصادية والاجتماعية والثقافية والإنسانية وعلى تعزيز احترام حقوق الإنسان والحريات الأساسية للناس جميعاً والتشجيع على ذلك إطلاقاً بلا تمييز بسبب الجنس أو اللغة أو الدين ولا تفريق بين الرجال والنساء.

    +
  6. +
  7. +

    جعل هذه الهيئة مرجعاً لتنسيق أعمال الأمم وتوجيهها نحو إدراك هذه الغايات المشتركة.

    +
  8. +
+ +

المادة 2

+ +

تعمل الهيئة وأعضاؤها في سعيها وراء المقاصد المذكورة في المادة الأولى وفقاً ‏‏ للمبادئ الآتية:

+ +
    +
  1. +

    تقوم الهيئة على مبدأ المساواة في السيادة بين جميع أعضائها.‏

    +
  2. +
  3. +

    لكي يكفل أعضاء الهيئة لأنفسهم جميعاً الحقوق والمزايا المترتبة على صفة العضوية يقومون في حسن نية ‏بالالتزامات التي أخذوها على أنفسهم بهذا الميثاق.

    +
  4. +
  5. +

    يفض جميع أعضاء الهيئة منازعاتهم الدولية بالوسائل السلمية على وجه لا يجعل السلم والأمن والعدل الدولي عرضة للخطر.

    +
  6. +
  7. +

    يمتنع أعضاء الهيئة جميعاً في علاقاتهم الدولية عن التهديد باستعمال القوة أو استخدامها ضد سلامة الأراضي أو الاستقلال السياسي لأية دولة أو على أي وجه آخر لا يتفق ومقاصد "الأمم المتحدة"..

    +
  8. +
  9. +

    يقدّم جميع الأعضاء كل ما في وسعهم من عون إلى "الأمم المتحدة" في أي عمل تتخذه وفق هذا الميثاق، كما يمتنعون عن مساعدة أية دولة تتخذ الأمم المتحدة إزاءها عملاً من أعمال المنع أو القمع.

    +
  10. +
  11. +

    تعمل الهيئة على أن تسير الدول غير الأعضاء فيها على هذه المبادئ بقدر ما تقتضيه ضرورة حفظ السلم ‏والأمن الدولي.‏

    +
  12. +
  13. +

    ليس في هذا الميثاق ما يسوغ ”للأمم المتحدة“ أن تتدخل في الشؤون التي تكون من صميم السلطان الداخلي ‏لدولة ما، وليس فيه ما يقتضي الأعضاء أن يعرضوا مثل هذه المسائل لأن تحل بحكم هذا الميثاق، على أن ‏هذا المبدأ لا يخلّ بتطبيق تدابير القمع الواردة في الفصل السابع.‏

    +
  14. +
+ +

الفصل الثاني : العضوية

+ +

المادة 3

+ +

الأعضاء الأصليون للأمم المتحدة هـم الدول التي اشتركت في مؤتمر الأمم المتحدة لوضع نظام الهيئة الدولية المنعقد في سان فرانسيسكو، والتي توقّع هذا الميثاق وتصدّق عليه طبقاً للمادة 110، وكذلك الدول التي وقّعت من قبل تصريح الأمم المتحدة الصادر في أول كانون الثاني/يناير سنة 1942، وتوقّع هذا الميثاق وتصدّق عليه.

+ +

المادة 4

+ +
    +
  1. ‏العضوية في "الأمم المتحدة" مباحة لجميع الدول الأخرى المُحبة للسلام، والتي تأخذ نفسها بالالتزامات التي يتضمنها هذا الميثاق، والتي ترى الهيئة أنها قادرة على تنفيذ هذه الالتزامات وراغبة فيه .
  2. +
  3. قبول أية دولة من هذه الدول في عضوية "الأمم المتحدة" يتم بقرار من الجمعية العامة بناءً على توصية مجلس الأمن .
  4. +
+ +

المادة 5

+ +

يجوز للجمعية العامة أن توقف أي عضو اتخذ مجلس الأمن قِبَله عملاً من أعمال المنع أو القمع، عن مباشرة حقوق العضوية ومزاياها، ويكون ذلك بناءً على توصية ‏مجلس الأمن، ولمجلس الأمن أن يرد لهذا العضو مباشرة تلك الحقوق والمزايا.

+ +

المادة 6

+ +

إذا أمعن عضو من أعضاء "الأمم المتحدة" في انتهاك مبادئ الميثاق جاز للجمعية العامة أن تفصله من الهيئة بناءً على توصية مجلس الأمن.

+ +

الفصل الثالث : فروع الهيئـة

+ +

المادة 7

+ +
    +
  1. تنشأ الهيئات الآتية فروعاً رئيسية للأمم المتحدة: الجمعيـة العـامة، ومجلـس الأمـن، والمجلـس الاقتصـادي والاجتمـاعي، و مجلـس وصـاية، و محكمـة عـدل دوليـة و أمـانة
  2. +
  3. +

    ‏يجوز أن ينشأ وفقاً لأحكام هذا الميثاق ما يرى ضرورة إنشائه من فروع ثانوية أخرى .

    +
  4. +
+ +

المادة 8

+ +

لا تفرض "الأمم المتحدة" قيوداً تحدّ بها جواز اختيار الرجال والنساء للاشتراك بأية صفة وعلى وجه المساواة في فروعها الرئيسية والثانوية.

+ +

الفصل الرابع: الجمعيـة العـامة

+ +

تأليفهـا

+ +

المادة 9

+ +
    +
  1. تتألف الجمعية العامة من جميع أعضاء "الأمم المتحدة".
  2. +
  3. لا يجوز أن يكون للعضو الواحد أكثر من خمسة مندوبين في الجمعية العامة.
  4. +
+ +

وظائف الجمعية وسلطاتها

+ +

المادة 10

+ +

للجمعية العامة أن تناقش أية مسألة أو أمر يدخل في نطاق هذا الميثاق أو يتصل بسلطات فرع من الفروع المنصوص عليها فيه أو وظائفه. كما أن لها في ما عدا ما نصّ عليه في المادة 12 أن توصي أعضاء الهيئة أو مجلس الأمن أو كليهما بما تراه في تلك المسائل والأمور.

+ +

المادة 11

+ +
    +
  1. للجمعية العامة أن تنظر في المبادئ العامة للتعاون في حفظ السلم والأمن الدولي ويدخل في ذلك المبادئ المتعلقة بنزع السلاح وتنظيم التسليح، كما أن لها أن تقدّم توصياتها بصدد هذه المبادئ إلى الأعضاء أو إلى مجلس الأمن أو إلى كليهما.
  2. +
  3. للجمعية العامة أن تناقش أية مسألة يكون لها صلة بحفظ السلم والأمن الدولي يرفعها إليها أي عضو من أعضاء الأمم المتحدة ومجلس الأمن أو دولة ليست من أعضائها وفقاً لأحكام الفقرة الثانية من المادة 35، ولها - فيما عدا ما تنصّ عليه المادة الثانية عشرة - أن تقدّم توصياتها بصدد هذه المسائل للدولة أو الدول صاحبة الشأن أو لمجلس الأمن أو لكليهما معاً. وكل مسألة مما تقدّم ذكره يكون من الضروري فيها القيام بعمل ما، ينبغي أن تحيلها الجمعية العامة على مجلس الأمن قبل بحثها أو بعده.
  4. +
  5. للجمعية العامة أن تسترعي نظر مجلس الأمن إلى الأحوال التي يحتمل أن تعرّض السلم والأمن الدولي للخطر.
  6. +
  7. لا تحدّ سلطات الجمعية العامة المبيّنة في هذه المادة من عموم مدى المادة العاشرة.
  8. +
+ +

المادة 12

+ +
    +
  1. عندما يباشر مجلس الأمن، بصدد نزاع أو موقف ما، الوظائف التي رسمت في الميثاق، فليس للجمعية العامة أن تقدّم أية توصية في شأن هذا النزاع أو الموقف إلاّ إذا طلب ذلك منها مجلس الأمن.
  2. +
  3. يخطر الأمين العام - بموافقة مجلس الأمن - الجمعية العامة في كل دور من أدوار انعقادها بكل المسائل المتصلة بحفظ السلم والأمن الدولي التي تكون محل نظر مجلس الأمن، كذلك يخطرها أو يخطر أعضاء "الأمم المتحدة" إذا لم تكن الجمعية العامة في دور انعقادها، بفراغ مجلس الأمن من نظر تلك المسائل وذلك بمجرد انتهائه منها.
  4. +
+ +

المادة 13

+ +
    +
  1. تنشئ الجمعية العامة دراسات وتشير بتوصيات بقصد: +
      +
    1. إنماء التعاون الدولي في الميدان السياسي وتشجيع التقدّم المطرد للقانون الدولي وتدوينه
    2. +
    3. ب - إنماء التعاون الدولي في الميادين الاقتصادية والاجتماعية والثقافية والتعليمية والصحية، والإعانة على تحقيق حقوق الإنسان والحريات الأساسية للناس كافة بلا تمييز بينهم في الجنس أو اللغة أو الدين ولا تفريق بين الرجال والنساء.
    4. +
    +
  2. +
  3. تبعات الجمعية العامة ووظائفها وسلطاتها الأخرى في ما يختص بالمسائل الواردة في الفقرة السابقة (ب) بيّنة في الفصلين التاسع والعاشر من هذا الميثاق.
  4. +
+ +

المادة 14

+ +

مع مراعاة أحكام المادة الثانية عشرة، للجمعية العامة أن توصي باتخاذ التدابير لتسوية أي موقف، مهما يكن منشؤه، تسوية سلمية متى رأت أن هذا الموقف قد يضر بالرفاهية العامة أو يعكّر صفو العلاقات الودية بين الأمم، ويدخل في ذلك المواقف الناشئة عن انتهاك أحكام هذا الميثاق الموضحة لمقاصد الأمم المتحدة ومبادئها.

+ +

المادة 15

+ +
    +
  1. تتلقى الجمعية العامة تقارير سنوية وأخرى خاصة من مجلس الأمن وتنظر فيها، وتتضمن هذه التقارير بياناً عن التدابير التي يكون مجلس الأمن قد قرّرها أو اتخذها لحفظ السلم والأمن الدولي.
  2. +
  3. تتلقى الجمعية العامة تقارير من الفروع الأخرى للأمم المتحدة وتنظر فيها.
  4. +
+ +

المادة 16

+ +

تباشر الجمعية العامة الوظائف الرسمية التي رسمت لها بمقتضى الفصلين الثاني عشر والثالث عشر في ما يتعلق بنظام الوصاية الدولية، ويدخل في ذلك المصادقة على اتفاقات الوصاية بشأن المواقع التي تعتبر أنها مواقع استراتيجية.

+ +

المادة 17

+ +
    +
  1. تنظر الجمعية العامة في ميزانية الهيئة وتصدّق عليها.
  2. +
  3. يتحمّل الأعضاء نفقات الهيئة حسب الأنصبة التي تقرّرها الجمعية العامة.
  4. +
  5. تنظر الجمعية العامة في أية ترتيبات مالية أو متعلقة بالميزانية مع الوكالات المتخصصة المشار إليها في المادة 57. وتصدّق عليها وتدرس الميزانيات الإدارية لتلك الوكالات لكي تقدّم لها توصياتها.
  6. +
+ +

التصـويت

+ +

المادة 18

+ +
    +
  1. يكون لكل عضو في "الأمم المتحدة" صوت واحد في الجمعية العامة.
  2. +
  3. تصدر الجمعية العامة قراراتها في المسائل العامة بأغلبية ثلثي الأعضاء الحاضرين المشتركين في التصويت. وتشمل هذه المسائل: التوصيات الخاصة بحفظ السلم والأمن الدولي، وانتخاب أعضاء مجلس الأمن غير الدائمين، وانتخاب أعضاء المجلس الاقتصادي والاجتماعي، وانتخاب أعضاء مجلس الوصاية وفقاً لحكم الفقرة الأولى (ج) من المادة 86، وقبول أعضاء جدد في "الأمم المتحدة" ووقف الأعضاء عن مباشرة حقوق العضوية والتمتع بمزاياها، وفصل الأعضاء، والمسائل المتعلقة بسير نظام الوصاية، والمسائل الخاصة بالميزانية.
  4. +
  5. القرارات في المسائل الأخرى - ويدخل في ذلك تحديد طوائف المسائل الإضافية التي تتطلب في إقرارها أغلبية الثلثين - تصدر بأغلبية الأعضاء الحاضرين المشتركين في التصويت.
  6. +
+ +

المادة 19

+ +

لا يكون لعضو الأمم المتحدة الذي يتأخر عن تسديد اشتراكاته المالية في الهيئة حق التصويت في الجمعية العامة إذا كان المتأخر عليه مساوياً لقيمة الاشتراكات المستحقة عليه في السنتين الكاملتين السابقتين أو زائداً عنها، وللجمعية العامة مع ذلك أن تسمح لهذا العضو بالتصويت إذا اقتنعت بأن عدم الدفع ناشئ عن أسباب لا قبل للعضو بها.

+ +

الإجـراءات

+ +

المادة 20

+ +

تجتمع الجمعية العامة في أدوار انعقاد عادية وفي أدوار انعقاد سنوية خاصة بحسب ما تدعو إليه الحاجة. ويقوم بالدعوة إلى أدوار الانعقاد الخاصة الأمين العام بناءً على طلب مجلس الأمن أو أغلبية أعضاء "الأمم المتحدة".

+ +

المادة 21

+ +

تضع الجمعية العامة لائحة إجراءاتها، وتنتخب رئيسها لكل دور انعقاد.

+ +

المادة 22

+ +

للجمعية العامة أن تنشئ من الفروع الثانوية ما تراه ضروريا للقيام بوظائفها.

+ +

الفصل الخامس: مجلـس الأمـن

+ +

تأليفـه

+ +

المادة 23

+ +
    +
  1. يتألف مجلس الأمن من خمسة عشر عضواً من الأمم المتحدة، وتكون جمهورية الصين، وفرنسا، واتحاد الجمهوريات الاشتراكية السوفياتية، والمملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية، والولايات المتحدة الأمريكية أعضاء دائمين فيه. وتنتخب الجمعية العامة عشرة أعضاء آخرين من الأمم المتحدة ليكونوا أعضاء غير دائمين في المجلس. ويراعى في ذلك بوجه خاص وقبل كل شيء مساهمة أعضاء الأمم المتحدة في حفظ السلم والأمن الدولي وفي مقاصد الهيئة الأخرى، كما يراعى أيضاً التوزيع الجغرافي العادل.
  2. +
  3. ينتخب أعضاء مجلس الأمن غير الدائمين لمدة سنتين، على أنه في أول انتخاب للأعضاء غير الدائمين بعد زيادة عدد أعضاء مجلس الأمن من أحد عشر عضواً إلى خمسة عشر عضواً، يختار اثنان من الأعضاء الأربعة الإضافيين لمدة سنة واحدة والعضو الذي انتهت مدته لا يجوز إعادة انتخابه على الفور.
  4. +
  5. يكون لكل عضو في مجلس الأمن مندوب واحد.
  6. +
+ +

الوظائف والسلطـات

+ +

المادة 24

+ +
    +
  1. رغبة في أن يكون العمل الذي تقوم به "الأمم المتحدة" سريعاً فعالاً، يعهد أعضاء تلك الهيئة إلى مجلس الأمن بالتبعات الرئيسية في أمر حفظ السلم والأمن الدولي ويوافقون على أن هذا المجلس يعمل نائباً عنهم في قيامه بواجباته التي تفرضها عليه هذه التبعات.
  2. +
  3. يعمل مجلس الأمن، في أداء هذه الواجبات وفقاً لمقاصد "الأمم المتحدة" ومبادئها والسلطات الخاصة المخوّلة لمجلس الأمن لتمكينه من القيام بهذه الواجبات مبينة في الفصول السادس والسابع والثامن والثاني عشر
  4. +
  5. يرفع مجلس الأمن تقارير سنوية، وأخرى خاصة، إذا اقتضت الحال إلى الجمعية عامة لتنظر فيها.
  6. +
+ +

المادة 25

+ +

يتعهد أعضاء "الأمم المتحدة" بقبول قرارات مجلس الأمن وتنفيذها وفق هذا الميثاق.

+ +

المادة 26

+ +

رغبة في إقامة السلم والأمن الدولي وتوطيدهما بأقل تحويل لموارد العالم الإنسانية والاقتصادية إلى ناحية التسليح، يكون مجلس الأمن مسؤولاً بمساعدة لجنة أركان الحرب المشار إليها في المادة 47 عن وضع خطط تعرض على أعضاء "الأمم المتحدة" لوضع منهاج لتنظيم التسليح.

+ +

التصويت

+ +

المادة 27

+ +
    +
  1. يكون لكل عضو من أعضاء مجلس الأمن صوت واحد.
  2. +
  3. تصدر قرارات مجلس الأمن في المسائل الإجرائية بموافقة تسعة من أعضائه.
  4. +
  5. تصدر قرارات مجلس الأمن في المسائل الأخرى كافة بموافقة أصوات تسعة من أعضائه يكون من بينها أصوات الأعضاء الدائمين متفقة، بشرط أنه في القرارات المتخذة تطبيقاً لأحكام الفصل السادس والفقرة 3 من المادة 52 يمتنع من كان طرفاً في النزاع عن التصويت.
  6. +
+ +

الإجـراءات

+ +

المادة 28

+ +
    +
  1. ينظم مجلس الأمن على وجه يستطيع معه العمل باستمرار، ولهذا الغرض يمثل كل عضو من أعضائه تمثيلاً دائماً في مقر الهيئة.
  2. +
  3. يعقد مجلس الأمن اجتماعات دورية يمثل فيها كل عضو من أعضائه - إذا شاء ذلك - بأحد رجال حكومته أو بمندوب آخر يسميه لهذا الغرض خاصة.
  4. +
  5. لمجلس الأمن أن يعقد اجتماعات في غير مقر الهيئة إذا رأى أن ذلك أدنى إلى تسهيل أعماله.
  6. +
+ +

المادة 29

+ +

لمجلس الأمن أن ينشئ من الفروع الثانوية ما يرى له ضرورة لأداء وظائفه.

+ +

المادة 30

+ +

يضع مجلس الأمن لائحة إجراءاته ويدخل فيها طريقة اختيار رئيسه.

+ +

المادة 31

+ +

لكل عضو من أعضاء "الأمم المتحدة" من غير أعضاء مجلس الأمن أن يشترك بدون تصويت في مناقشة أية مسألة تعرض على مجلس الأمن إذا رأى المجلس أن مصالح هذا العضو تتأثر بها بوجه خاص.

+ +

المادة 32

+ +

كل عضو من أعضاء "الأمم المتحدة" ليس بعضو في مجلس الأمن، وأية دولة ليست عضواً في "الأمم المتحدة" إذا كان أيهما طرفاً في نزاع معروض على مجلس الأمن لبحثه يدعى إلى الاشتراك في المناقشات المتعلقة بهذا النزاع دون أن يكون له حق في التصويت، ويضع مجلس الأمن الشروط التي يراها عادلة لاشتراك الدولة التي ليست من أعضاء "الأمم المتحدة".

+ +

الفصل السادس: حل المنازعات حلاً سلمياً

+ +

المادة 33

+ +
    +
  1. يجب على أطراف أي نزاع من شأن استمراره أن يعرض حفظ السلم والأمن الدولي للخطر أن يلتمسوا حله بادئ ذي بدء بطريق المفاوضة والتحقيق والوساطة والتوفيق والتحكيم والتسوية القضائية، أو أن يلجأوا إلى الوكالات والتنظيمات الإقليمية أو غيرها من الوسائل السلمية التي يقع عليها اختيارها.
  2. +
  3. ويدعو مجلس الأمن أطراف النزاع إلى أن يسووا ما بينهم من النزاع بتلك الطرق إذا رأى ضرورة ذلك.
  4. +
+ +

المادة 34

+ +

لمجلس الأمن أن يفحص أي نزاع أو أي موقف قد يؤدي إلى احتكاك دولي أو قد يثير نزاعا لكي يقرر ما إذا كان استمرار هذا النزاع أو الموقف من شأنه أن يعرض للخطر حفظ السلم والأمن الدولي.

+ +

المادة 35

+ +
    +
  1. لكل عضو من "الأمم المتحدة" أن ينبه مجلس الأمن أو الجمعية العامة إلى أي نزاع أو موقف من النوع المشار إليه في المادة الرابعة والثلاثين.
  2. +
  3. لكل دولة ليست عضواً في "الأمم المتحدة" أن تنبه مجلس الأمن أو الجمعية العامة إلى أي نزاع تكون طرفا فيه إذا كانت تقبل مقدماً في خصوص هذا النزاع التزامات الحل السلمي المنصوص عليها في هذا الميثاق.
  4. +
  5. تجرى أحكام المادتين 11 و12 على الطريقة التي تعالج بها الجمعية العامة المسائل التي تنبه إليها وفقا لهذه المادة.
  6. +
+ +

المادة 36

+ +
    +
  1. لمجلس الأمن في أية مرحلة من مراحل نزاع من النوع المشار إليه في المادة 33 أو موقف شبيه به أن يوصي بما يراه ملائماً من الإجراءات وطرق التسوية.
  2. +
  3. على مجلس الأمن أن يراعي ما اتخذه المتنازعون من إجراءات سابقة لحل النزاع القائم بينهم.
  4. +
  5. على مجلس الأمن وهو يقدم توصياته وفقا لهذه المادة أن يراعي أيضاً أن المنازعات القانونية يجب على أطراف النزاع - بصفة عامة - أن يعرضوها على محكمة العدل الدولية وفقاً لأحكام النظام الأساسي لهذه المحكمة.
  6. +
+ +

المادة 37

+ +
    +
  1. إذا أخفقت الدول التي يقوم بينها نزاع من النوع المشار إليه في المادة 33 في حله بالوسائل المبينة في تلك المادة وجب عليها أن تعرضه على مجلس الأمن.
  2. +
  3. إذا رأى مجلس الأمن أن استمرار هذا النزاع من شأنه في الواقع، أن يعرض للخطر حفظ السلم والأمن الدولي قرر ما إذا كان يقوم بعمل وفقاً للمادة 36 أو يوصي بما يراه ملائماً من شروط حل النزاع.
  4. +
+ +

المادة 38

+ +

لمجلس الأمن - إذا طلب إليه جميع المتنازعين ذلك - أن يقدم إليهم توصياته بقصد حل النزاع حلاً سلمياً، وذلك بدون إخلال بأحكام المواد من 33 إلى 37.

+ +

الفصل السابع: فيما يتخذ من الأعمال في حالات تهديد السلم والإخلال به ووقوع العدوان

+ +

المادة 39

+ +

يقرر مجلس الأمن ما إذا كان قد وقع تهديد للسلم أو إخلال به أو كان ما وقع عملاًً من أعمال العدوان، ويقدم في ذلك توصياته أو يقرر ما يجب اتخاذه من التدابير طبقاً لأحكام المادتين 41 و42 لحفظ السلم والأمن الدولي أو إعادته إلى نصابه.

+ +

المادة 40

+ +

منعاً لتفاقم الموقف، لمجلس الأمن، قبل أن يقوم توصياته أو يتخذ التدابير المنصوص عليها في المادة 39، أن يدعو المتنازعين للأخذ بما يراه ضرورياً أو مستحسناً من تدابير مؤقتة، ولا تخل هذه التدابير المؤقتة بحقوق المتنازعين ومطالبهم أو بمركزهم، وعلى مجلس الأمن أن يحسب لعدم أخذ المتنازعين بهذه التدابير المؤقتة حسابه.

+ +

المادة 41

+ +

لمجلس الأمن أن يقرر ما يجب اتخاذه من التدابير التي لا تتطلب استخدام القوات المسلحة لتنفيذ قراراته، وله أن يطلب إلى أعضاء "الأمم المتحدة" تطبيق هذه التدابير، ويجوز أن يكون من بينها وقف الصلات الاقتصادية والمواصلات الحديدية والبحرية والجوية والبريدية والبرقية واللاسلكية وغيرها من وسائل المواصلات وقفا جزئياً أو كليا وقطع العلاقات الدبلوماسية.

+ +

المادة 42

+ +

إذا رأى مجلس الأمن أن التدابير المنصوص عليها في المادة 41 لا تفي بالغرض أو ثبت أنها لم تف به، جاز له أن يتخذ بطريق القوات الجوية والبحرية والبرية من الأعمال ما يلزم لحفظ السلم والأمن الدولي أو لإعادته إلى نصابه. ويجوز أن تتناول هذه الأعمال المظاهرات والحصر والعمليات الأخرى بطريق القوات الجوية أو البحرية أو البرية التابعة لأعضاء "الأمم المتحدة".

+ +

المادة 43

+ +
    +
  1. يتعهد جميع أعضاء "الأمم المتحدة" في سبيل المساهمة في حفظ السلم والأمن الدولي، أن يضعوا تحت تصرف مجلس الأمن بناء على طلبه وطبقاً لاتفاق أو اتفاقات خاصة ما يلزم من القوات المسلحة والمساعدات والتسهيلات الضرورية لحفظ السلم والأمن الدولي ومن ذلك حق المرور.
  2. +
  3. يجب أن يحدد ذلك الاتفاق أو تلك الاتفاقات عدد هذه القوات وأنواعها ومدى استعدادها وأماكنها عموماً ونوع التسهيلات والمساعدات التي تقدم.
  4. +
  5. تجرى المفاوضة في الاتفاق أو الاتفاقات المذكورة بأسرع ما يمكن بناءً على طلب مجلس الأمن، وتبرم بين مجلس الأمن وبين أعضاء "الأمم المتحدة" أو بينه وبين مجموعات من أعضاء "الأمم المتحدة"، وتصدق عليها الدول الموقعة وفق مقتضيات أوضاعها الدستورية.
  6. +
+ +

المادة 44

+ +

إذا قرر مجلس الأمن استخدام القوة، فإنه قبل أن يطلب من عضو غير ممثل فيه تقديم القوات المسلحة وفاءً بالالتزامات المنصوص عليها في المادة 43، ينبغي له أن يدعو هذا العضو إلى أن يشترك إذا شاء في القرارات التي يصدرها فيما يختص باستخدام وحدات من قوات هذا العضو المسلحة.

+ +

المادة 45

+ +

رغبة في تمكين الأمم المتحدة من اتخاذ التدابير الحربية العاجلة يكون لدى الأعضاء وحدات جوية أهلية يمكن استخدامها فوراً لأعمال القمع الدولية المشتركة. ويحدد مجلس الأمن قوى هذه الوحدات ومدى استعدادها والخطط لأعمالها المشتركة، وذلك بمساعدة لجنة أركان الحرب وفي الحدود الواردة في الاتفاق أو الاتفاقات الخاصة المشار إليها في المادة 43.

+ +

المادة 46

+ +

الخطط اللازمة لاستخدام القوة المسلحة يضعها مجلس الأمن بمساعدة لجنة أركان الحرب.

+ +

المادة 47

+ +
    +
  1. تشكل لجنة من أركان الحرب تكون مهمتها أن تسدي المشورة والمعونة إلى مجلس الأمن وتعاونه في جميع المسائل المتصلة بما يلزمه من حاجات حربية لحفظ السلم والأمن الدولي ولاستخدام القوات الموضوعة تحت تصرفه وقيادتها ولتنظيم التسليح ونزع السلاح بالقدر المستطاع.
  2. +
  3. تشكل لجنة أركان الحرب من رؤساء أركان حرب الأعضاء الدائمين في مجلس الأمن أو من يقوم مقامهم، وعلى اللجنة أن تدعو أي عضو في "الأمم المتحدة" من الأعضاء غير الممثلين فيها بصفة دائمة للإشراف في عملها إذا اقتضى حسن قيام اللجنة بمسؤولياتها أن يساهم هذا العضو في عملها.
  4. +
  5. لجنة أركان الحرب مسؤولة تحت إشراف مجلس الأمن عن التوجيه الاستراتيجي لأية قوات مسلحة موضوعة تحت تصرف المجلس. أما المسائل المرتبطة بقيادة هذه القوات فستبحث فيما بعد.
  6. +
  7. للجنة أركان الحرب أن تنشئ لجاناً فرعية إقليمية إذا خوّلها ذلك مجلس الأمن وبعد التشاور مع الوكالات الإقليمية صاحبة الشأن.
  8. +
+ +

المادة 48

+ +
    +
  1. الأعمال اللازمة لتنفيذ قرارات مجلس الأمن لحفظ السلم والأمن الدولي يقوم بها جميع أعضاء "الأمم المتحدة" أو بعض هؤلاء الأعضاء وذلك حسبما يقرره المجلس.
  2. +
  3. يقوم أعضاء "الأمم المتحدة" بتنفيذ القرارات المتقدمة مباشرة وبطريق العمل في الوكالات الدولية المتخصصة التي يكونون أعضاء فيها.
  4. +
+ +

المادة 49

+ +

يتضافر أعضاء "الأمم المتحدة" على تقديم المعونة المتبادلة لتنفيذ التدابير التي قررها مجلس الأمن.

+ +

المادة 50

+ +

إذا اتخذ مجلس الأمن ضد أية دولة تدابير منع أو قمع فإن لكل دولة أخرى - سواء أكانت من أعضاء "الأمم المتحدة" أم لم تكن - تواجه مشاكل اقتصادية خاصة تنشأ عن تنفيذ هذه التدابير، الحق في أن تتذاكر مع مجلس الأمن بصدد حل هذه المشاكل.

+ +

المادة 51

+ +

ليس في هذا الميثاق ما يضعف أو ينتقص الحق الطبيعي للدول، فرادى أو جماعات، في الدفاع عن أنفسهم إذا اعتدت قوة مسلحة على أحد أعضاء "الأمم المتحدة" وذلك إلى أن يتخذ مجلس الأمن التدابير اللازمة لحفظ السلم والأمن الدولي، والتدابير التي اتخذها الأعضاء استعمالاً لحق الدفاع عن النفس تبلغ إلى المجلس فورا، ولا تؤثر تلك التدابير بأي حال فيما للمجلس - بمقتضى سلطته ومسؤولياته المستمرة من أحكام هذا الميثاق - من الحق في أن يتخذ في أي وقت ما يرى ضرورة لاتخاذه من الأعمال لحفظ السلم والأمن الدولي أو إعادته إلى نصابه.

+ +

الفصل الثامـن: التنظيمات الإقليمية

+ +

المادة 52

+ +
    +
  1. ليس في هذا الميثاق ما يحول دون قيام تنظيمات أو وكالات إقليمية تعالج من الأمور المتعلقة بحفظ السلم والأمن الدولي ما يكون العمل الإقليمي صالحاً فيها ومناسباً ما دامت هذه التنظيمات أو الوكالات الإقليمية ونشاطها متلائمة مع مقاصد "الأمم المتحدة" ومبادئها.
  2. +
  3. يبذل أعضاء "الأمم المتحدة" الداخلون في مثل هذه التنظيمات أو الذين تتألف منهم تلك الوكالات كل جهدهم لتدبير الحل السلمي للمنازعات المحلية عن طريق هذه التنظيمات الإقليمية أو بواسطة هذه الوكالات وذلك قبل عرضها على مجلس الأمن.
  4. +
  5. على مجلس الأمن أن يشجع على الاستكثار من الحل السلمي لهذه المنازعات المحلية بطريق هذه التنظيمات الإقليمية أو بواسطة تلك الوكالات الإقليمية بطلب من الدول التي يعنيها الأمر أو بالإحالة عليها من جانب مجلس الأمن.
  6. +
  7. لا تعطل هذه المادة بحال من الأحوال تطبيق المادتين 34 و 35.
  8. +
+ +

المادة 53

+ +
    +
  1. يستخدم مجلس الأمن تلك التنظيمات والوكالات الإقليمية في أعمال القمع، كلما رأى ذلك ملائماً ويكون عملها حينئذ تحت مراقبته وإشرافه. أما التنظيمات والوكالات نفسها فإنه لا يجوز بمقتضاها أو على يدها القيام بأي عمل من أعمال القمع بغير إذن المجلس، ويستثنى مما تقدم التدابير التي تتخذ ضد أية دولة من دول الأعداء المعرّفة في الفقرة 2 من هذه المادة مما هو منصوص عليه في المادة 107 أو التدابير التي يكون المقصود بها في التنظيمات الإقليمية منع تجدد سياسة العدوان من جانب دولة من تلك الدول، وذلك إلى أن يحين الوقت الذي قد يعهد فيه إلى الهيئة، بناءً على طلب الحكومات ذات الشأن، بالمسؤولية عن منع كل عدوان آخر من جانب أية دولة من تلك الدول.
  2. +
  3. تنطبق عبارة "الدولة المعادية" المذكورة في الفقرة 1 من هذه المادة على أية دولة كانت في الحرب العالمية الثانية من أعداء أية دولة موقعة على هذا الميثاق.
  4. +
+ +

المادة 54

+ +

يجب أن يكون مجلس الأمن على علم تام بما يجري من الأعمال لحفظ السلم والأمن الدولي بمقتضى تنظيمات أو بواسطة وكالات إقليمية أو ما يزمع إجراؤه منها.

+ +

الفصل التاسع: التعاون الدولي الاقتصادي والاجتماعي

+ +

المادة 55

+ +

رغبة في تهيئة دواعي الاستقرار والرفاهية الضروريين لقيام علاقات سليمة ودية بين الأمم المتحدة مؤسسة على احترام المبدأ الذي يقضي بالتسوية في الحقوق بين الشعوب وبأن يكون لكل منها تقرير مصيرها، تعمل الأمم المتحدة على:

+ +
    +
  1. تحقيق مستوى أعلى للمعيشة وتوفير أسباب الاستخدام المتصل لكل فرد والنهوض بعوامل التطور والتقدم الاقتصادي والاجتماعي.
  2. +
  3. تيسير الحلول للمشاكل الدولية الاقتصادية والاجتماعية والصحية وما يتصل بها، وتعزيز التعاون الدولي في أمور الثقافة والتعليم.
  4. +
  5. أن يشيع في العالم احترام حقوق الإنسان والحريات الأساسية للجميع بلا تمييز بسبب الجنس أو اللغة أو الدين، ولا تفريق بين الرجال والنساء، ومراعاة تلك الحقوق والحريات فعلاً.
  6. +
+ +

المادة 56

+ +

يتعهد جميع الأعضاء بأن يقوموا، منفردين أو مشتركين، بما يجب عليهم من عمل بالتعاون مع الهيئة لإدراك المقاصد المنصوص عليها في المادة 55.

+ +

المادة 57

+ +
    +
  1. الوكالات المختلفة التي تنشأ بمقتضى اتفاق بين الحكومات والتي تضطلع بمقتضى نظمها الأساسية بتبعات دولية واسعة في الاقتصاد والاجتماع والثقافة والتعليم والصحة وما يتصل بذلك من الشؤون يوصل بينها وبين "الأمم المتحدة" وفقا لأحكام المادة 63.
  2. +
  3. تسمى هذه الوكالات التي يوصل بينها وبين "الأمم المتحدة" فيما يلي من الأحكام بالوكالات المتخصصة.
  4. +
+ +

المادة 58

+ +

تقدم الهيئة توصيات بقصد تنسيق سياسات الوكالات المتخصصة ووجوه نشاطها.

+ +

المادة 59

+ +

تدعو الهيئة عند المناسبة إلى أجراء مفاوضات بين الدول ذات الشأن بقصد إنشاء أية وكالة متخصصة جديدة يتطلبها تحقيق المقاصد المبينة في المادة 55.

+ +

المادة 60

+ +

مقاصد الهيئة المبينة في هذا الفصل تقع مسؤولية تحقيقها على عاتق الجمعية العامة كما تقع على عاتق المجلس الاقتصادي والاجتماعي تحت إشراف الجمعية العامة، ويكون لهذا المجلس من أجل ذلك السلطات المبينة في الفصل العاشر.

+ +

الفصل العاشر: المجلس الاقتصادي والاجتماعي

+ +

التأليف

+ +

المادة 61

+ +
    +
  1. يتألف المجلس الاقتصادي والاجتماعي من أربعة وخمسين عضواً من الأمم المتحدة تنتخبهم الجمعية العامة.
  2. +
  3. مع مراعاة أحكام الفقرة 3، ينتخب ثمانية عشر عضواً من أعضاء المجلس الاقتصادي والاجتماعي كل سنة لمدة ثلاث سنوات ويحوز أن يعاد انتخاب العضو الذي انتهت مدته مباشرة.
  4. +
  5. في الانتخاب الأول بعد زيادة عدد أعضاء المجلس الاقتصادي والاجتماعي من سبعة وعشرين إلى أربعة وخمسين عضواً، يختار سبعة وعشرون عضواً إضافياً علاوة على الأعضاء المنتخبين محل الأعضاء التسعة الذين تنتهي مدة عضويتهم في نهاية هذا العام. وتنتهي عضوية تسعة من هؤلاء الأعضاء السبعة والعشرين الإضافيين بعد انقضاء سنة واحدة، وتنتهي عضوية تسعة أعضاء آخرين بعد انقضاء سنتين، ويجرى ذلك وفقا للنظام الذي تضعه الجمعية العامة.
  6. +
  7. يكون لكل عضو من أعضاء المجلس الاقتصادي والاجتماعي مندوب واحد.
  8. +
+ +

الوظائف والسلطـات

+ +

المادة 62

+ +
    +
  1. للمجلس الاقتصادي والاجتماعي أن يقوم بدراسات ويضع تقارير عن المسائل الدولية في أمور الاقتصاد والاجتماع والثقافة والتعليم والصحة وما يتصل بها، كما أن له أن يوجه إلى مثل تلك الدراسات وإلى وضع مثل تلك التقارير. وله أن يقدم توصياته في أية مسألة من تلك المسائل إلى الجمعية العامة وإلى أعضاء "الأمم المتحدة" وإلى الوكالات المتخصصة ذات الشأن.
  2. +
  3. وله أن يقدم توصيات فيما يختص بإشاعة احترام حقوق الإنسان والحريات الأساسية ومراعاتها.
  4. +
  5. وله أن يعد مشروعات اتفاقات لتعرض على الجمعية العامة عن المسائل التي تدخل في دائرة اختصاصه.
  6. +
  7. وله أن يدعو إلى عقد مؤتمرات دولية لدراسة المسائل التي تدخل في دائرة اختصاصه وفقا للقواعد التي تضعها "الأمم المتحدة".
  8. +
+ +

المادة 63

+ +
    +
  1. للمجلس الاقتصادي والاجتماعي أن يضع اتفاقات مع أي وكالة من الوكالات المشار إليها في المادة 57 تحدد الشروط التي على مقتضاها يوصل بينها وبين "الأمم المتحدة" وتعرض هذه الاتفاقات على الجمعية العامة للموافقة عليها.
  2. +
  3. وله أن ينسق وجوه نشاط الوكالات المتخصصة بطريق التشاور معها وتقديم توصياته إليها وإلى الجمعية العامة وأعضاء "الأمم المتحدة".
  4. +
+ +

المادة 64

+ +
    +
  1. للمجلس الاقتصادي والاجتماعي أن يتخذ الخطوات المناسبة للحصول بانتظام على تقارير من الوكالات المتخصصة وله أن يضع مع أعضاء "الأمم المتحدة" ومع الوكالات المتخصصة ما يلزم من الترتيبات كيما تمده بتقارير عن الخطوات التي اتخذتها لتنفيذ توصياته أو لتنفيذ توصيات الجمعية العامة في شأن المسائل الداخلة في اختصاصه.
  2. +
  3. وله أن يبلغ الجمعية العامة ملاحظاته على هذه التقارير.
  4. +
+ +

المادة 65

+ +

للمجلس الاقتصادي والاجتماعي أن يمد مجلس الأمن بما يلزم من المعلومات وعليه أن يعاونه متى طلب إليه ذلك.

+ +

المادة 66

+ +
    +
  1. يقوم المجلس الاقتصادي والاجتماعي في تنفيذ توصيات الجمعية العامة بالوظائف التي تدخل في اختصاصه.
  2. +
  3. وله بعد موافقة الجمعية العامة أن يقوم بالخدمات اللازمة لأعضاء "الأمم المتحدة" أو الوكالات المتخصصة متى طلب إليه ذلك.
  4. +
  5. يقوم المجلس بالوظائف الأخرى المبينة في غير هذا الموضع مع الميثاق وبالوظائف التي قد تعهد بها إليه الجمعية العامة.
  6. +
+ +

التصويت

+ +

المادة 67

+ +
    +
  1. يكون لكل عضو من أعضاء المجلس الاقتصادي والاجتماعي صوت واحد.
  2. +
  3. تصدر قرارات المجلس الاقتصادي والاجتماعي بأغلبية أعضائه الحاضرين المشتركين في التصويت.
  4. +
+ +

الإجـراءات

+ +

المادة 68

+ +

ينشئ المجلس الاقتصادي والاجتماعي لجاناً للشؤون الاقتصادية والاجتماعية ولتعزيز حقوق الإنسان، كما ينشئ غير ذلك من اللجان التي قد يحتاج إليها لتأدية وظائفه.

+ +

المادة 69

+ +

يدعو المجلس الاقتصادي والاجتماعي أي عضو من "الأمم المتحدة" للاشتراك في مداولاته عند بحث أية مسألة تعني هذا العضو بوجه خاص، على ألا يكون له حق التصويت.

+ +

المادة 70

+ +

للمجلس الاقتصادي والاجتماعي أن يعمل على إشراك مندوبي الوكالات المتخصصة في مداولاته أو في مداولات اللجان التي ينشئها دون أن يكون لهم حق التصويت، كما أن له أن يعمل على إشراك مندوبيه في مداولات الوكالة المتخصصة.

+ +

المادة 71

+ +

للمجلس الاقتصادي والاجتماعي أن يجرى الترتيبات المناسبة للتشاور مع الهيئات غير الحكومية التي تعني بالمسائل الداخلة في اختصاصه. وهذه الترتيبات قد يجريها المجلس مع هيئات دولية، كما أنه قد يجريها إذا رأى ذلك ملائماً مع هيئات أهلية وبعد التشاور مع عضو "الأمم المتحدة" ذي الشأن.

+ +

المادة 72

+ +
    +
  1. يضع المجلس الاقتصادي والاجتماعي لائحة إجراءاته ومنها طريقة اختيار رئيسه.
  2. +
  3. يجتمع المجلس الاقتصادي والاجتماعي كلما دعت الحاجة إلى ذلك وفقا للائحة التي يسنها. ويجب أن تتضمن تلك اللائحة النص على دعوته للاجتماع بناءً على طلب يقدم من أغلبية أعضائه.
  4. +
+ +

الفصل الحادي عشر: تصريح يتعلق بالأقاليم غير المتمتعة بالحكم الذاتي

+ +

المادة 73

+ +

يقرر أعضاء الأمم المتحدة - الذين يضطلعون في الحال أو في المستقبل بتبعات عن إدارة أقاليم لم تنل شعوبها قسطاً كاملاً من الحكم الذاتي - المبدأ القاضي بأن مصالح أهل هذه الأقاليم لها المقام الأول، ويقبلون أمانة مقدسة في عنقهم، الالتزام بالعمل على تنمية رفاهية أهل هذه الأقاليم إلى أقصى حد مستطاع في نطاق السلم والأمن الدولي الذي رسمه هذا الميثاق. ولهذا الغرض:

+ +
    +
  1. يكفلون تقدم هذه الشعوب في شؤون السياسة والاقتصاد والاجتماع والتعليم، كما يكفلون معاملتها بإنصاف وحمايتها من ضروب الإساءة - كل ذلك مع مراعاة الاحترام الواجب لثقافة هذه الشعوب.
  2. +
  3. ينمون الحكم الذاتي، ويقدرون الأماني السياسية لهذه الشعوب قدرها، ويعاونونها على إنماء نظمها السياسية الحرة نمواً مطرداً، وفقا للظروف الخاصة لكل إقليم وشعوبه، ومراحل تقدمها المختلفة.
  4. +
  5. يوطدون السلم والأمن الدولي.
  6. +
  7. يعززون التدابير الإنسانية للرقي والتقدم، ويشجعون البحوث، ويتعاونون فيما بينهم لتحقيق المقاصد الاجتماعية والاقتصادية والعلمية المفصّلة في هذه المادة تحقيقاً عملياً، كما يتعاونون أيضاً لهذا الغرض مع الهيئات الدولية المتخصصة كلما تراءت لهم ملاءمة ذلك. ./li>
  8. +
  9. يرسلون إلى الأمين العام بانتظام يحيطونه علماً بالبيانات الإحصائية وغيرها من البيانات الفنية المتعلقة بأمور الاقتصاد والاجتماع والتعليم في الأقاليم التي يكونون مسؤولين عنها، عدا الأقاليم التي تنطبق عليها أحكام الفصلين الثاني عشر والثالث عشر من هذا الميثاق. كل ذلك مع مراعاة القيود التي قد تستدعيها الاعتبارات المتعلقة بالأمن والاعتبارات الدستورية.
  10. +
+ +

المادة 74

+ +

يوافق أعضاء الأمم المتحدة أيضاً على أن سياستهم إزاء الأقاليم التي ينطبق عليها هذا الفصل - كسياستهم في بلادهم نفسها - يجب أن تقوم على مبدأ حسن الجوار، وأن تراعي حق المراعاة مصالح بقية أجزاء العالم ورفاهيتها في الشؤون الاجتماعية والاقتصادية والتجارية.

+ +

الفصل الثاني عشر: نظام الوصاية الدولي

+ +

المادة 75

+ +

تنشئ "الأمم المتحدة" تحت إشرافها نظاماً دولياً للوصاية، وذلك لإدارة الأقاليم التي قد تخضع لهذا النظام بمقتضى إتفاقات فردية لاحقة وللإشراف عليها، ويطلق على هذه الأقاليم فيما يلي من الأحكام اسم الأقاليم المشمولة بالوصاية.

+ +

المادة 76

+ +

الأهداف الأساسية لنظام الوصاية طبقاً لمقاصد "الأمم المتحدة" المبينة في المادة الأولى من هذا الميثاق هي:

+ +
    +
  1. توطيد السلم والأمن الدولي؛
  2. +
  3. لحكم الذاتي أو الاستقلال حسبما يلائم الظروف الخاصة لكل إقليم وشعوبه، ويتفق مع رغبات هذه الشعوب التي تعرب عنها بملء حريتها وطبقاً لما قد ينص عليه في شروط كل اتفاق من اتفاقات الوصاية؛
  4. +
  5. التشجيع على احترام حقوق الإنسان والحريات الأساسية للجميع بلا تمييز بسبب الجنس أو اللغة أو الدين، ولا تفريق بين الرجال والنساء، والتشجيع على إدراك ما بين شعوب العالم من تقيد بعضهم بالبعض؛
  6. +
  7. كفالة المساواة في المعاملة في الأمور الاجتماعية والاقتصادية والتجارية لجميع أعضاء "الأمم المتحدة" وأهاليها والمساواة بين هؤلاء الأهالي أيضاً فيما يتعلق بإجراء القضاء، وذلك مع عدم الإخلال بتحقيق الأغراض المتقدمة ومع مراعاة أحكام المادة 80.
  8. +
+ +

المادة 77

+ +
    +
  1. يطبق نظام الوصاية على الأقاليم الداخلة في الفئات الآتية مما قد يوضع تحت حكمها بمقتضى اتفاقات وصاية: +
      +
    1. الأقاليم المشمولة الآن بالانتداب؛
    2. +
    3. الأقاليم التي قد تقتطع من دول الأعداء نتيجة للحرب العالمية الثانية؛
    4. +
    5. الأقاليم التي تضعها في الوصاية بمحض اختيارها دول مسؤولة عن إدارتها.
    6. +
    +
  2. +
  3. أما تعيين أي الأقاليم من الفئات سالفة الذكر يوضع تحت نظام الوصاية وطبقاً لأي شروط، فذلك من شأن ما يعقد بعد من اتفاقات
  4. +
+ +

المادة 78

+ +

لا يطبق نظام الوصاية على الأقاليم التي أصبحت أعضاء في هيئة "الأمم المتحدة" إذ العلاقات بين أعضاء هذه الهيئة يجب أن تقوم على احترام مبدأ المساواة في السيادة.

+ +

المادة 79

+ +

شروط الوصاية لكل إقليم يوضع تحت ذلك النظام، وكل تغيير أو تعديل يطرآن بعد عليها، ذلك كله يتفق عليه برضا الدول التي يعنيها هذا الأمر بالذات ومنها الدولة المنتدبة في حالة الأقاليم المشمولة بانتداب أحد أعضاء "الأمم المتحدة". وهذا مع مراعاة أحكام المادتين 83 و85 في شأن المصادقة على تلك الشروط وتعديلاتها.

+ +

المادة 80

+ +
    +
  1. فيما عدا ما قد يتفق عليه في اتفاقات الوصاية الفردية التي تبرم وفق أحكام المواد 77 و 79 و 81 وبمقتضاها توضع الأقاليم تحت الوصاية، وإلى أن تعقد مثل هذه الاتفاقات لا يجوز تأويل نص أي حكم من أحكام هذا الفصل ولا تخريجه تأويلاً أو تخريجاً من شأنه أن يغير بطريقة ما أية حقوق لأية دول أو شعوب، أو يغير شروط الاتفاقات الدولية القائمة التي قد يكون أعضاء "الأمم المتحدة" أطرافاً فيها.
  2. +
  3. لا يجوز أن تؤول الفقرة الأولى من هذه المادة على أنها تهيئ سبباً لتأخير أو تأجيل المفاوضة في الاتفاقات التي ترمي لوضع الأقاليم المشمولة بالانتداب أو غيرها من الأقاليم في نظام الوصاية طبقا للمادة 77 أو تأخير أو تأجيل إبرام مثل تلك الاتفاقات.
  4. +
+ +

المادة 81

+ +

يشمل اتفاق الوصاية، في كل حالة، الشروط التي يدار بمقتضاها الإقليم المشمول بالوصاية، ويعين السلطة التي تباشر إدارة ذلك الإقليم، ويجوز أن تكون هذه السلطة التي يطلق عليها فيما يلي من الأحكام "السلطة القائمة بالإدارة" دولة أو أكثر أو هيئة "الأمم المتحدة" ذاتها.

+ +

المادة 82

+ +

يجوز أن يحدد في أي اتفاق من اتفاقات الوصاية موقع استراتيجي قد يشمل الإقليم الذي ينطبق عليه نظام الوصاية بعضه أو كله، وذلك دون الإخلال بأي اتفاق أو اتفاقات خاصة معقودة طبقا لنص المادة 43.

+ +

المادة 83

+ +
    +
  1. يباشر مجلس الأمن جميع وظائف "الأمم المتحدة" المتعلقة بالمواقع الاستراتيجية، ويدخل في ذلك الموافقة على شروط اتفاقات الوصاية وتغييرها أو تعديلها.
  2. +
  3. تراعى جميع الأهداف الأساسية المبينة في المادة 76 بالنسبة لشعب كل موقع استراتيجي.
  4. +
  5. يستعين مجلس الأمن بمجلس الوصاية - مع مراعاة أحكام اتفاقيات الوصاية ودون إخلال بالاعتبارات المتصلة بالأمن - في مباشرة ما كان من وظائف "الأمم المتحدة" في نظام الوصاية خاصاً بالشؤون السياسية والاقتصادية والاجتماعية والتعليمية للمواقع الاستراتيجية.
  6. +
+ +

المادة 84

+ +

يكون من واجب السلطة القائمة بالإدارة أن تكفل قيام الإقليم المشمول بالوصاية بنصيبه في حفظ السلم والأمن الدولي. وتحقيقا لهذه الغاية يجوز للسلطة القائمة بالإدارة أن تستخدم قوات متطوعة وتسهيلات ومساعدات من الإقليم المشمول بالوصاية للقيام بالالتزامات التي تعهدت بها تلك السلطة لمجلس الأمن في هذا الشأن، وللقيام أيضاً بالدفاع وبإقرار حكم القانون والنظام داخل الإقليم المشمول بالوصاية.

+ +

المادة 85

+ +
    +
  1. تباشر الجمعية العامة وظائف "الأمم المتحدة" فيما يختص باتفاقات الوصاية على كل المساحات التي لم ينص على أنها مساحات استراتيجية ويدخل في ذلك إقرار شروط اتفاقات الوصاية وتغييرها أو تعديلها.
  2. +
  3. يساعد مجلس الوصاية الجمعية العامة في القيام بهذه الوظائف عاملاً تحت إشرافها.
  4. +
+ +

الفصل الثالث عشر: مجلس الوصاية

+ +

التأليف

+ +

المادة 86

+ +
    +
  1. يتألف مجلس الوصاية من أعضاء "الأمم المتحدة" الآتي بيانهم: +
      +
    1. الأعضاء الذين يتولون إدارة أقاليم مشمولة بالوصاية؛
    2. +
    3. الأعضاء المذكورون بالاسم في المادة 23 الذين لا يتولون إدارة أقاليم مشمولة بالوصاية؛
    4. +
    5. العدد الذي يلزم من الأعضاء الآخرين لكفالة أن يكون جملة أعضاء مجلس الوصاية فريقين متساويين، أحدهما الأعضاء الذين يقومون بإدارة الأقاليم المشمولة بالوصاية، والآخر الأعضاء الذين خلوا من تلك الإدارة. وتنتخب الجمعية العامة هؤلاء الأعضاء لمدة ثلاث سنوات.
    6. +
    +
  2. +
  3. يعين كل عضو من أعضاء مجلس الوصاية من يراه أهلاً بوجه خاص لتمثيله في هذا المجلس.
  4. +
+ +

الوظائف والسلطـات

+ +

المادة 87

+ +

لكل من الجمعية العامة ومجلس الوصاية عاملاً تحت إشرافها، وهما يقومان بأداء وظائفهما:

+ +
    +
  1. أن ينظر في التقارير التي ترفعها السلطة القائمة بالإدارة.
  2. +
  3. أن يقبل العرائض ويفحصها بالتشاور مع السلطة القائمة بالإدارة.
  4. +
  5. أن يقبل العرائض ويفحصها بالتشاور مع السلطة القائمة بالإدارة.
  6. +
  7. أن يتخذ هذه التدابير وغيرها، وفقا للشروط المبينة في اتفاقات الوصاية.
  8. +
+ +

المادة 88

+ +

يضع مجلس الوصاية طائفة من الأسئلة عن تقدم سكان كل إقليم مشمول بالوصاية في الشؤون السياسية والاقتصادية والاجتماعية والتعليمية. وتقدم السلطة القائمة بالإدارة في كل إقليم مشمول بالوصاية داخل اختصاص الجمعية العامة تقريراً سنوياً للجمعية العامة موضوعاً على أساس هذه الأسئلة.

+ +

التصويت

+ +

المادة 89

+ +
    +
  1. يكون لك عضو في مجلس الوصاية صوت واحد.
  2. +
  3. تصدر قرارات مجلس الوصاية بأغلبية الأعضاء الحاضرين المشتركين في التصويت.
  4. +
+ +

الإجـراءات

+ +

المادة 90

+ +
    +
  1. يضع مجلس الوصاية لائحة إجراءاته ومنها طريقة اختيار رئيسه.
  2. +
  3. يجتمع مجلس الوصاية كلما دعت الحاجة لذلك وفقاً للائحة التي يسنها. ويجب أن تتضمن تلك اللائحة النص على دعوته للاجتماع بناءً على طلب يقدم من أغلبية أعضائه.
  4. +
+ +

المادة 91

+ +

يستعين مجلس الوصاية، كلما كان ذلك مناسباً، بالمجلس الاقتصادي والاجتماعي وبالوكالات المتخصصة في كل ما يختص به كل منها من الشؤون.

+ +

الفصل الرابع عشر: محكمة العدل الدولية

+ +

المادة 92

+ +

محكمة العدل الدولية هي الأداة القضائية الرئيسية "للأمم المتحدة"، وتقوم بعملها وفق نظامها الأساسي الملحق بهذا الميثاق وهو مبني على النظام الأساسي للمحكمة الدائمة للعدل الدولي وجزء لا يتجزأ من الميثاق.

+ +

المادة 93

+ +
    +
  1. يعتبر جميع أعضاء "الأمم المتحدة" بحكم عضويتهم أطرافاً في النظام الأساسي لمحكمة العدل الدولية.
  2. +
  3. يجوز لدولة ليست من "الأمم المتحدة" أن تنضم إلى النظام الأساسي لمحكمة العدل الدولية بشروط تحددها الجمعية العامة لكل حالة بناء على توصية مجلس الأمن.
  4. +
+ +

المادة 94

+ +
    +
  1. يتعهد كل عضو من أعضاء "الأمم المتحدة" أن ينزل على حكم محكمة العدل الدولية في أية قضية يكون طرفاً فيها.
  2. +
  3. إذا امتنع أحد المتقاضين في قضية ما عن القيام بما يفرضه عليه حكم تصدره المحكمة، فللطرف الآخر أن يلجأ إلى مجلس الأمن، ولهذا المجلس، إذا رأى ضرورة لذلك أن يقدم توصياته أو يصدر قراراً بالتدابير التي يجب اتخاذها لتنفيذ هذا الحكم.
  4. +
+ +

المادة 95

+ +

ليس في هذا الميثاق ما يمنع أعضاء "الأمم المتحدة" من أن يعهدوا بحل ما ينشأ بينهم من خلاف إلى محاكم أخرى بمقتضى اتفاقات قائمة من قبل أو يمكن أن تعقد بينهم في المستقبل.

+ +

المادة 96

+ +
    +
  1. لأي من الجمعية العامة أو مجلس الأمن أن يطلب إلى محكمة العدل الدولية إفتاءه في أية مسألة قانونية.
  2. +
  3. ولسائر فروع الهيئة والوكالات المتخصصة المرتبطة بها، ممن يجوز أن تأذن لها الجمعية العامة بذلك في أي وقت، أن تطلب أيضاً من المحكمة إفتاءها فيما يعرض لها من المسائل القانونية الداخلة في نطاق أعمالها.
  4. +
+ +

الفصل الخامس عشر: الأمـانة العامة

+ +

المادة 97

+ +

يكون للهيئة أمانة تشمل أميناً عاماً ومن تحتاجهم الهيئة من الموظفين. وتعين الجمعية العامة الأمين العام بناءً على توصية مجلس الأمن. والأمين العام هو الموظف الإداري الأكبر في الهيئة.

+ +

المادة 98

+ +

يتولى الأمين العام أعماله بصفته هذه في كل اجتماعات الجمعية العامة ومجلس الأمن والمجلس الاقتصادي والاجتماعي، ومجلس الوصاية، ويقوم بالوظائف الأخرى التي تكلها إليه هذه الفروع. ويعد الأمين العام تقريراً سنوياً للجمعية العامة بأعمال الهيئة.

+ +

المادة 99

+ +

للأمين العام أن ينبه مجلس الأمن إلى أية مسألة يرى أنها قد تهدد حفظ السلم والآمن الدولي.

+ +

المادة 100

+ +
    +
  1. ليس للأمين العام ولا للموظفين أن يطلبوا أو أن يتلقوا في تأدية واجبهم تعليمات من أية حكومة أو من أية سلطة خارجة عن الهيئة. وعليهم أن يمتنعوا عن القيام بأي عمل قد يسئ إلى مراكزهم بوصفهم موظفين دوليين مسؤولين أمام الهيئة وحدها.
  2. +
  3. يتعهد كل عضو في "الأمم المتحدة" باحترام الصفة الدولية البحتة لمسؤوليات الأمين العام والموظفين وبألا يسعى إلى التأثير فيهم عند اضطلاعهم بمسؤولياتهم.
  4. +
+ +

المادة 101

+ +
    +
  1. يعين الأمين العام موظفي الأمانة طبقا للوائح التي تضعها الجمعية العامة.
  2. +
  3. يعين للمجلس الاقتصادي والاجتماعي ولمجلس الوصاية ما يكفيهما من الموظفين على وجه دائم ويعين لغيرهما من فروع "الأمم المتحدة" الأخرى ما هي بحاجة إليه منهم. وتعتبر جملة هؤلاء الموظفين جزءاً من الأمانة.
  4. +
  5. ينبغي في استخدام الموظفين وفي تحديد شروط خدمتهم أن يراعى في المكان الأول ضرورة الحصول على أعلى مستوى من المقدرة والكفاية والنزاهة. كما أن من المهم أن يراعى في اختيارهم أكبر ما يستطاع من معاني التوزيع الجغرافي.
  6. +
+ +

Chapter XVI: Miscellaneous Provisions

+ +

المادة 102

+ +
    +
  1. كل معاهدة وكل اتفاق دولي يعقده أي عضو من أعضاء "الأمم المتحدة" بعد العمل بهذا الاتفاق يجب أن يسجل في أمانة الهيئة وأن تقوم بنشره بأسرع ما يمكن.
  2. +
  3. ليس لأي طرف في معاهدة أو اتفاق دولي لم يسجل وفقاً للفقرة الأولى من هذه المادة أن يتمسك بتلك المعاهدة أو ذلك الاتفاق أمام أي فرع من فروع "الأمم المتحدة".
  4. +
+ +

المادة 103

+ +

إذا تعارضت الالتزامات التي يرتبط بها أعضاء "الأمم المتحدة" وفقاً لأحكام هذا الميثاق مع أي التزام دولي آخر يرتبطون به فالعبرة بالتزاماتهم المترتبة على هذا الميثاق.

+ +

المادة 104

+ +

تتمتع الهيئة في بلاد كل عضو من أعضائها بالأهلية القانونية التي يتطلبها قيامها بأعباء وظائفها وتحقيق مقاصدها.

+ +

المادة 105

+ +
    +
  1. تتمتع الهيئة في أرض كل عضو من أعضائها بالمزايا والإعفاءات التي يتطلبها تحقيق مقاصدها.
  2. +
  3. وكذلك يتمتع المندوبون عن أعضاء "الأمم المتحدة" وموظفو هذه الهيئة بالمزايا والإعفاءات التي يتطلبها استقلالهم في القيام بمهام وظائفهم المتصلة بالهيئة.
  4. +
  5. للجمعية العامة أن تقدم التوصيات بقصد تحديد التفاصيل الخاصة بتطبيق الفقرتين 1 و 2 من هذه المادة، ولها أن تقترح على أعضاء الهيئة عقد اتفاقات لهذا الغرض.
  6. +
+ +

الفصل السابع عشر: تدابير حفظ الأمن في فترة الانتقال

+ +

المادة 106

+ +

إلى أن تصير الاتفاقات الخاصة المشار إليها في المادة الثالثة والأربعين معمولاً بها على الوجه الذي يرى معه مجلس الأمن أنه أصبح يستطيع البدء في احتمال مسؤولياته وفقاً للمادة 42، تتشاور الدول التي اشتركت في تصريح الدول الأربع الموقع في موسكو في 30 تشرين الأول/أكتوبر سنة 1943 هي وفرنسا وفقاً لأحكام الفقرة 5 من ذلك التصريح، كما تتشاور الدول الخمس مع أعضاء "الأمم المتحدة" الآخرين، كلما اقتضت الحال، للقيام نيابة عن الهيئة بالأعمال المشتركة التي قد تلزم لحفظ السلم والأمن الدولي.

+ +

المادة 107

+ +

ليس في هذا الميثاق ما يبطل أو يمنع أي عمل إزاء دولة كانت في أثناء الحرب العالمية الثانية معادية لإحدى الدول الموقعة على هذا الميثاق إذا كان هذا العمل قد اتخذ أو رخص به نتيجة لتلك الحرب من قبل الحكومات المسؤولة عن القيام بهذا العمل.

+ +

الفصل الثامن عشر: تعديل الميثاق

+ +

المادة 108

+ +

التعديلات التي تدخل على هذا الميثاق تسري على جميع أعضاء "الأمم المتحدة" إذا صدرت بموافقة ثلثي أعضاء الجمعية العامة وصدق عليها ثلثا أعضاء "الأمم المتحدة" ومن بينهم جميع أعضاء مجلس الأمن الدائمين، وفقا للأوضاع الدستورية في كل دولة.

+ +

المادة 109

+ +
    +
  1. يجوز عقد مؤتمر عام من أعضاء "الأمم المتحدة" لإعادة النظر في هذا الميثاق في الزمان والمكان اللذين تحددهما الجمعية العامة بأغلبية ثلثي أعضائها وبموافقة تسعة ما من أعضاء مجلس الأمن, ويكون لكل عضو في "الأمم المتحدة" صوت واحد في المؤتمر.
  2. +
  3. كل تغيير في هذا الميثاق أوصى به المؤتمر بأغلبية ثلثي أعضائه يسري إذا صدق عليه ثلثا أعضاء "الأمم المتحدة" ومن بينهم الأعضاء الدائمون في مجلس الأمن وفقا لأوضاعهم الدستورية.
  4. +
  5. إذا لم يعقد هذا المؤتمر قبل الدورة العادية العاشرة للجمعية العامة، بعد العمل بهذا الميثاق، وجب أن يدرج بجدول أعمال ذلك الدور العاشر اقتراح بالدعوة إلى عقده، وهذا المؤتمر يعقد إذا قررت ذلك أغلبية أعضاء الجمعية العامة وسبعة ما من أعضاء مجلس الأمن.
  6. +
+ +

الفصل التاسع عشر: التصديق والتوقيع

+ +

المادة 110

+ +
    +
  1. تصدق على هذا الميثاق الدول الموقعة عليه كل منها حسب أوضاعه الدستورية.
  2. +
  3. تودع التصديقات لدى حكومة الولايات المتحدة الأمريكية التي تخطر الدول الموقعة عليه بكل إيداع يحصل، كما تخطر الأمين العام لهيئة "الأمم المتحدة" بعد تعيينه.
  4. +
  5. يصبح هذا الميثاق معمولاً به متى أودعت تصديقاتها جمهورية الصين وفرنسا واتحاد الجمهوريات الاشتراكية السوفياتية والمملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية والولايات المتحدة الأمريكية وأغلبية الدول الأخرى الموقعة عليه وتعد حكومة الولايات المتحدة الأمريكية بروتوكولاً خاصاً بالتصديقات المودعة وتبلغ صوراً منه لكل الدول الموقعة على الميثاق.
  6. +
  7. الدول الموقعة على هذا الميثاق التي تصدق عليه بعد العمل به، تعتبر من الأعضاء الأصليين في "الأمم المتحدة" من تاريخ إيداعها لتصديقاتها.
  8. +
+ +

المادة 111

+ +

وضع هذا الميثاق بلغات خمس هي الصينية والفرنسية والروسية والإنجليزية والأسبانية، وهي لغاته الرسمية على وجه السواء . ويظل الميثاق مودعاًُ في محفوظات حكومة الولايات المتحدة الأمريكية، وتبلغ هذه الحكومة حكومات الدول الأخرى الموقعة عليه صوراً معتمدة منه.

+ +

ومصادقا لما تقدم وقع مندوبو حكومات "الأمم المتحدة" على هذا الميثاق. صدر بمدينة سان فرانسيسكو في اليوم السادس والعشرين من شهر حزيران/يونيه 1945.

+
+
+
+
+ + +
+
+ + + +
+ +
+
+ +
+
+
+ + + +
+ + + + + + + + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_AR.txt b/stdlib/benchmarks/collections/data/UN_charter_AR.txt new file mode 100644 index 0000000000..0d65f19bea --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_AR.txt @@ -0,0 +1,465 @@ +ميثاق الأمم المتحدة (النص الكامل) +الديباجة +نحن شعوب الأمم المتحدة وقد آلينا على أنفسنا +أن ننقذ الأجيال المقبلة من ويلات الحرب التي في خلال جيل واحد جلبت على الإنسانية مرتين أحزاناً يعجز عنها الوصف، + +وأن نؤكد من جديد إيماننا بالحقوق الأساسية للإنسان وبكرامة الفرد وقدره وبما للرجال والنساء والأمم كبيرها وصغيرها من حقوق متساوية، + +وأن نبيّن الأحوال التي يمكن في ظلها تحقيق العدالة واحترام الالتزامات الناشئة عن المعاهدات وغيرها من مصادر القانون الدولي، + +وأن ندفع بالرقي الاجتماعي قدماً، وأن نرفع مستوى الحياة في جو من الحرية أفسح. + +وفي سبيل هذه الغايات اعتزمنا +أن نأخذ أنفسنا بالتسامح، وأن نعيش معاً في سلام وحسن جوار ، + +وأن نضم قوانا كي نحتفظ بالسلم والأمن الدولي، + +وأن نكفل بقبولنا مبادئ معيّنة ورسم الخطط اللازمة لها ألاّ تستخدم القوة المسلحة في غير المصلحة المشتركة ، + +وأن نستخدم الأداة الدولية في ترقية الشؤون الاقتصادية والاجتماعية للشعوب جميعها، + +قد قرّرنا أن نوحّد جهودنا لتحقيق هذه الأغراض +ولهذا فإن حكوماتنا المختلفة على يد مندوبيها المجتمعين في مدينة سان فرانسيسكو الذين قدّموا وثائق التفويض المستوفية للشرائط، قد ارتضت ميثاق الأمم المتحدة هذا، وأنشأت بمقتضاه هيئة دولية تُسمّى "الأمم المتحدة". + +الفصل الأول: مقاصد الهيئة ومبادئها +المادة 1 +مقاصـد الأمـم المتحدة هي: + +حفظ السلم والأمن الدولي، وتحقيقاً لهذه الغاية تتخذ الهيئة التدابير المشتركة الفعّالة لمنع الأسباب التي تهدد السلم ولإزالتها، وتقمع أعمال العدوان وغيرها من وجوه الإخلال بالسلم، وتتذرّع بالوسائل السلمية، وفقاً لمبادئ العدل والقانون الدولي، لحل المنازعات الدولية التي قد تؤدي إلى الإخلال بالسلم أو لتسويتها. + +إنماء العلاقات الودية بين الأمم على أساس احترام المبدأ الذي يقضي بالتسوية في الحقوق بين الشعوب وبأن يكون لكل منها تقرير مصيرها، وكذلك اتخاذ التدابير الأخرى الملائمة لتعزيز السلم العام. + +تحقيق التعاون الدولي على حل المسائل الدولية ذات الصبغة الاقتصادية والاجتماعية والثقافية والإنسانية وعلى تعزيز احترام حقوق الإنسان والحريات الأساسية للناس جميعاً والتشجيع على ذلك إطلاقاً بلا تمييز بسبب الجنس أو اللغة أو الدين ولا تفريق بين الرجال والنساء. + +جعل هذه الهيئة مرجعاً لتنسيق أعمال الأمم وتوجيهها نحو إدراك هذه الغايات المشتركة. + +المادة 2 +تعمل الهيئة وأعضاؤها في سعيها وراء المقاصد المذكورة في المادة الأولى وفقاً ‏‏ للمبادئ الآتية: + +تقوم الهيئة على مبدأ المساواة في السيادة بين جميع أعضائها.‏ + +لكي يكفل أعضاء الهيئة لأنفسهم جميعاً الحقوق والمزايا المترتبة على صفة العضوية يقومون في حسن نية ‏بالالتزامات التي أخذوها على أنفسهم بهذا الميثاق. + +يفض جميع أعضاء الهيئة منازعاتهم الدولية بالوسائل السلمية على وجه لا يجعل السلم والأمن والعدل الدولي عرضة للخطر. + +يمتنع أعضاء الهيئة جميعاً في علاقاتهم الدولية عن التهديد باستعمال القوة أو استخدامها ضد سلامة الأراضي أو الاستقلال السياسي لأية دولة أو على أي وجه آخر لا يتفق ومقاصد "الأمم المتحدة".. + +يقدّم جميع الأعضاء كل ما في وسعهم من عون إلى "الأمم المتحدة" في أي عمل تتخذه وفق هذا الميثاق، كما يمتنعون عن مساعدة أية دولة تتخذ الأمم المتحدة إزاءها عملاً من أعمال المنع أو القمع. + +تعمل الهيئة على أن تسير الدول غير الأعضاء فيها على هذه المبادئ بقدر ما تقتضيه ضرورة حفظ السلم ‏والأمن الدولي.‏ + +ليس في هذا الميثاق ما يسوغ ”للأمم المتحدة“ أن تتدخل في الشؤون التي تكون من صميم السلطان الداخلي ‏لدولة ما، وليس فيه ما يقتضي الأعضاء أن يعرضوا مثل هذه المسائل لأن تحل بحكم هذا الميثاق، على أن ‏هذا المبدأ لا يخلّ بتطبيق تدابير القمع الواردة في الفصل السابع.‏ + +الفصل الثاني : العضوية +المادة 3 +الأعضاء الأصليون للأمم المتحدة هـم الدول التي اشتركت في مؤتمر الأمم المتحدة لوضع نظام الهيئة الدولية المنعقد في سان فرانسيسكو، والتي توقّع هذا الميثاق وتصدّق عليه طبقاً للمادة 110، وكذلك الدول التي وقّعت من قبل تصريح الأمم المتحدة الصادر في أول كانون الثاني/يناير سنة 1942، وتوقّع هذا الميثاق وتصدّق عليه. + +المادة 4 +‏العضوية في "الأمم المتحدة" مباحة لجميع الدول الأخرى المُحبة للسلام، والتي تأخذ نفسها بالالتزامات التي يتضمنها هذا الميثاق، والتي ترى الهيئة أنها قادرة على تنفيذ هذه الالتزامات وراغبة فيه . +قبول أية دولة من هذه الدول في عضوية "الأمم المتحدة" يتم بقرار من الجمعية العامة بناءً على توصية مجلس الأمن . +المادة 5 +يجوز للجمعية العامة أن توقف أي عضو اتخذ مجلس الأمن قِبَله عملاً من أعمال المنع أو القمع، عن مباشرة حقوق العضوية ومزاياها، ويكون ذلك بناءً على توصية ‏مجلس الأمن، ولمجلس الأمن أن يرد لهذا العضو مباشرة تلك الحقوق والمزايا. + +المادة 6 +إذا أمعن عضو من أعضاء "الأمم المتحدة" في انتهاك مبادئ الميثاق جاز للجمعية العامة أن تفصله من الهيئة بناءً على توصية مجلس الأمن. + +الفصل الثالث : فروع الهيئـة +المادة 7 +تنشأ الهيئات الآتية فروعاً رئيسية للأمم المتحدة: الجمعيـة العـامة، ومجلـس الأمـن، والمجلـس الاقتصـادي والاجتمـاعي، و مجلـس وصـاية، و محكمـة عـدل دوليـة و أمـانة +‏يجوز أن ينشأ وفقاً لأحكام هذا الميثاق ما يرى ضرورة إنشائه من فروع ثانوية أخرى . + +المادة 8 +لا تفرض "الأمم المتحدة" قيوداً تحدّ بها جواز اختيار الرجال والنساء للاشتراك بأية صفة وعلى وجه المساواة في فروعها الرئيسية والثانوية. + +الفصل الرابع: الجمعيـة العـامة +تأليفهـا +المادة 9 +تتألف الجمعية العامة من جميع أعضاء "الأمم المتحدة". +لا يجوز أن يكون للعضو الواحد أكثر من خمسة مندوبين في الجمعية العامة. +وظائف الجمعية وسلطاتها +المادة 10 +للجمعية العامة أن تناقش أية مسألة أو أمر يدخل في نطاق هذا الميثاق أو يتصل بسلطات فرع من الفروع المنصوص عليها فيه أو وظائفه. كما أن لها في ما عدا ما نصّ عليه في المادة 12 أن توصي أعضاء الهيئة أو مجلس الأمن أو كليهما بما تراه في تلك المسائل والأمور. + +المادة 11 +للجمعية العامة أن تنظر في المبادئ العامة للتعاون في حفظ السلم والأمن الدولي ويدخل في ذلك المبادئ المتعلقة بنزع السلاح وتنظيم التسليح، كما أن لها أن تقدّم توصياتها بصدد هذه المبادئ إلى الأعضاء أو إلى مجلس الأمن أو إلى كليهما. +للجمعية العامة أن تناقش أية مسألة يكون لها صلة بحفظ السلم والأمن الدولي يرفعها إليها أي عضو من أعضاء الأمم المتحدة ومجلس الأمن أو دولة ليست من أعضائها وفقاً لأحكام الفقرة الثانية من المادة 35، ولها - فيما عدا ما تنصّ عليه المادة الثانية عشرة - أن تقدّم توصياتها بصدد هذه المسائل للدولة أو الدول صاحبة الشأن أو لمجلس الأمن أو لكليهما معاً. وكل مسألة مما تقدّم ذكره يكون من الضروري فيها القيام بعمل ما، ينبغي أن تحيلها الجمعية العامة على مجلس الأمن قبل بحثها أو بعده. +للجمعية العامة أن تسترعي نظر مجلس الأمن إلى الأحوال التي يحتمل أن تعرّض السلم والأمن الدولي للخطر. +لا تحدّ سلطات الجمعية العامة المبيّنة في هذه المادة من عموم مدى المادة العاشرة. +المادة 12 +عندما يباشر مجلس الأمن، بصدد نزاع أو موقف ما، الوظائف التي رسمت في الميثاق، فليس للجمعية العامة أن تقدّم أية توصية في شأن هذا النزاع أو الموقف إلاّ إذا طلب ذلك منها مجلس الأمن. +يخطر الأمين العام - بموافقة مجلس الأمن - الجمعية العامة في كل دور من أدوار انعقادها بكل المسائل المتصلة بحفظ السلم والأمن الدولي التي تكون محل نظر مجلس الأمن، كذلك يخطرها أو يخطر أعضاء "الأمم المتحدة" إذا لم تكن الجمعية العامة في دور انعقادها، بفراغ مجلس الأمن من نظر تلك المسائل وذلك بمجرد انتهائه منها. +المادة 13 +تنشئ الجمعية العامة دراسات وتشير بتوصيات بقصد: +إنماء التعاون الدولي في الميدان السياسي وتشجيع التقدّم المطرد للقانون الدولي وتدوينه +ب - إنماء التعاون الدولي في الميادين الاقتصادية والاجتماعية والثقافية والتعليمية والصحية، والإعانة على تحقيق حقوق الإنسان والحريات الأساسية للناس كافة بلا تمييز بينهم في الجنس أو اللغة أو الدين ولا تفريق بين الرجال والنساء. +تبعات الجمعية العامة ووظائفها وسلطاتها الأخرى في ما يختص بالمسائل الواردة في الفقرة السابقة (ب) بيّنة في الفصلين التاسع والعاشر من هذا الميثاق. +المادة 14 +مع مراعاة أحكام المادة الثانية عشرة، للجمعية العامة أن توصي باتخاذ التدابير لتسوية أي موقف، مهما يكن منشؤه، تسوية سلمية متى رأت أن هذا الموقف قد يضر بالرفاهية العامة أو يعكّر صفو العلاقات الودية بين الأمم، ويدخل في ذلك المواقف الناشئة عن انتهاك أحكام هذا الميثاق الموضحة لمقاصد الأمم المتحدة ومبادئها. + +المادة 15 +تتلقى الجمعية العامة تقارير سنوية وأخرى خاصة من مجلس الأمن وتنظر فيها، وتتضمن هذه التقارير بياناً عن التدابير التي يكون مجلس الأمن قد قرّرها أو اتخذها لحفظ السلم والأمن الدولي. +تتلقى الجمعية العامة تقارير من الفروع الأخرى للأمم المتحدة وتنظر فيها. +المادة 16 +تباشر الجمعية العامة الوظائف الرسمية التي رسمت لها بمقتضى الفصلين الثاني عشر والثالث عشر في ما يتعلق بنظام الوصاية الدولية، ويدخل في ذلك المصادقة على اتفاقات الوصاية بشأن المواقع التي تعتبر أنها مواقع استراتيجية. + +المادة 17 +تنظر الجمعية العامة في ميزانية الهيئة وتصدّق عليها. +يتحمّل الأعضاء نفقات الهيئة حسب الأنصبة التي تقرّرها الجمعية العامة. +تنظر الجمعية العامة في أية ترتيبات مالية أو متعلقة بالميزانية مع الوكالات المتخصصة المشار إليها في المادة 57. وتصدّق عليها وتدرس الميزانيات الإدارية لتلك الوكالات لكي تقدّم لها توصياتها. +التصـويت +المادة 18 +يكون لكل عضو في "الأمم المتحدة" صوت واحد في الجمعية العامة. +تصدر الجمعية العامة قراراتها في المسائل العامة بأغلبية ثلثي الأعضاء الحاضرين المشتركين في التصويت. وتشمل هذه المسائل: التوصيات الخاصة بحفظ السلم والأمن الدولي، وانتخاب أعضاء مجلس الأمن غير الدائمين، وانتخاب أعضاء المجلس الاقتصادي والاجتماعي، وانتخاب أعضاء مجلس الوصاية وفقاً لحكم الفقرة الأولى (ج) من المادة 86، وقبول أعضاء جدد في "الأمم المتحدة" ووقف الأعضاء عن مباشرة حقوق العضوية والتمتع بمزاياها، وفصل الأعضاء، والمسائل المتعلقة بسير نظام الوصاية، والمسائل الخاصة بالميزانية. +القرارات في المسائل الأخرى - ويدخل في ذلك تحديد طوائف المسائل الإضافية التي تتطلب في إقرارها أغلبية الثلثين - تصدر بأغلبية الأعضاء الحاضرين المشتركين في التصويت. +المادة 19 +لا يكون لعضو الأمم المتحدة الذي يتأخر عن تسديد اشتراكاته المالية في الهيئة حق التصويت في الجمعية العامة إذا كان المتأخر عليه مساوياً لقيمة الاشتراكات المستحقة عليه في السنتين الكاملتين السابقتين أو زائداً عنها، وللجمعية العامة مع ذلك أن تسمح لهذا العضو بالتصويت إذا اقتنعت بأن عدم الدفع ناشئ عن أسباب لا قبل للعضو بها. + +الإجـراءات +المادة 20 +تجتمع الجمعية العامة في أدوار انعقاد عادية وفي أدوار انعقاد سنوية خاصة بحسب ما تدعو إليه الحاجة. ويقوم بالدعوة إلى أدوار الانعقاد الخاصة الأمين العام بناءً على طلب مجلس الأمن أو أغلبية أعضاء "الأمم المتحدة". + +المادة 21 +تضع الجمعية العامة لائحة إجراءاتها، وتنتخب رئيسها لكل دور انعقاد. + +المادة 22 +للجمعية العامة أن تنشئ من الفروع الثانوية ما تراه ضروريا للقيام بوظائفها. + +الفصل الخامس: مجلـس الأمـن +تأليفـه +المادة 23 +يتألف مجلس الأمن من خمسة عشر عضواً من الأمم المتحدة، وتكون جمهورية الصين، وفرنسا، واتحاد الجمهوريات الاشتراكية السوفياتية، والمملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية، والولايات المتحدة الأمريكية أعضاء دائمين فيه. وتنتخب الجمعية العامة عشرة أعضاء آخرين من الأمم المتحدة ليكونوا أعضاء غير دائمين في المجلس. ويراعى في ذلك بوجه خاص وقبل كل شيء مساهمة أعضاء الأمم المتحدة في حفظ السلم والأمن الدولي وفي مقاصد الهيئة الأخرى، كما يراعى أيضاً التوزيع الجغرافي العادل. +ينتخب أعضاء مجلس الأمن غير الدائمين لمدة سنتين، على أنه في أول انتخاب للأعضاء غير الدائمين بعد زيادة عدد أعضاء مجلس الأمن من أحد عشر عضواً إلى خمسة عشر عضواً، يختار اثنان من الأعضاء الأربعة الإضافيين لمدة سنة واحدة والعضو الذي انتهت مدته لا يجوز إعادة انتخابه على الفور. +يكون لكل عضو في مجلس الأمن مندوب واحد. +الوظائف والسلطـات +المادة 24 +رغبة في أن يكون العمل الذي تقوم به "الأمم المتحدة" سريعاً فعالاً، يعهد أعضاء تلك الهيئة إلى مجلس الأمن بالتبعات الرئيسية في أمر حفظ السلم والأمن الدولي ويوافقون على أن هذا المجلس يعمل نائباً عنهم في قيامه بواجباته التي تفرضها عليه هذه التبعات. +يعمل مجلس الأمن، في أداء هذه الواجبات وفقاً لمقاصد "الأمم المتحدة" ومبادئها والسلطات الخاصة المخوّلة لمجلس الأمن لتمكينه من القيام بهذه الواجبات مبينة في الفصول السادس والسابع والثامن والثاني عشر +يرفع مجلس الأمن تقارير سنوية، وأخرى خاصة، إذا اقتضت الحال إلى الجمعية عامة لتنظر فيها. +المادة 25 +يتعهد أعضاء "الأمم المتحدة" بقبول قرارات مجلس الأمن وتنفيذها وفق هذا الميثاق. + +المادة 26 +رغبة في إقامة السلم والأمن الدولي وتوطيدهما بأقل تحويل لموارد العالم الإنسانية والاقتصادية إلى ناحية التسليح، يكون مجلس الأمن مسؤولاً بمساعدة لجنة أركان الحرب المشار إليها في المادة 47 عن وضع خطط تعرض على أعضاء "الأمم المتحدة" لوضع منهاج لتنظيم التسليح. + +التصويت +المادة 27 +يكون لكل عضو من أعضاء مجلس الأمن صوت واحد. +تصدر قرارات مجلس الأمن في المسائل الإجرائية بموافقة تسعة من أعضائه. +تصدر قرارات مجلس الأمن في المسائل الأخرى كافة بموافقة أصوات تسعة من أعضائه يكون من بينها أصوات الأعضاء الدائمين متفقة، بشرط أنه في القرارات المتخذة تطبيقاً لأحكام الفصل السادس والفقرة 3 من المادة 52 يمتنع من كان طرفاً في النزاع عن التصويت. +الإجـراءات +المادة 28 +ينظم مجلس الأمن على وجه يستطيع معه العمل باستمرار، ولهذا الغرض يمثل كل عضو من أعضائه تمثيلاً دائماً في مقر الهيئة. +يعقد مجلس الأمن اجتماعات دورية يمثل فيها كل عضو من أعضائه - إذا شاء ذلك - بأحد رجال حكومته أو بمندوب آخر يسميه لهذا الغرض خاصة. +لمجلس الأمن أن يعقد اجتماعات في غير مقر الهيئة إذا رأى أن ذلك أدنى إلى تسهيل أعماله. +المادة 29 +لمجلس الأمن أن ينشئ من الفروع الثانوية ما يرى له ضرورة لأداء وظائفه. + +المادة 30 +يضع مجلس الأمن لائحة إجراءاته ويدخل فيها طريقة اختيار رئيسه. + +المادة 31 +لكل عضو من أعضاء "الأمم المتحدة" من غير أعضاء مجلس الأمن أن يشترك بدون تصويت في مناقشة أية مسألة تعرض على مجلس الأمن إذا رأى المجلس أن مصالح هذا العضو تتأثر بها بوجه خاص. + +المادة 32 +كل عضو من أعضاء "الأمم المتحدة" ليس بعضو في مجلس الأمن، وأية دولة ليست عضواً في "الأمم المتحدة" إذا كان أيهما طرفاً في نزاع معروض على مجلس الأمن لبحثه يدعى إلى الاشتراك في المناقشات المتعلقة بهذا النزاع دون أن يكون له حق في التصويت، ويضع مجلس الأمن الشروط التي يراها عادلة لاشتراك الدولة التي ليست من أعضاء "الأمم المتحدة". + +الفصل السادس: حل المنازعات حلاً سلمياً +المادة 33 +يجب على أطراف أي نزاع من شأن استمراره أن يعرض حفظ السلم والأمن الدولي للخطر أن يلتمسوا حله بادئ ذي بدء بطريق المفاوضة والتحقيق والوساطة والتوفيق والتحكيم والتسوية القضائية، أو أن يلجأوا إلى الوكالات والتنظيمات الإقليمية أو غيرها من الوسائل السلمية التي يقع عليها اختيارها. +ويدعو مجلس الأمن أطراف النزاع إلى أن يسووا ما بينهم من النزاع بتلك الطرق إذا رأى ضرورة ذلك. +المادة 34 +لمجلس الأمن أن يفحص أي نزاع أو أي موقف قد يؤدي إلى احتكاك دولي أو قد يثير نزاعا لكي يقرر ما إذا كان استمرار هذا النزاع أو الموقف من شأنه أن يعرض للخطر حفظ السلم والأمن الدولي. + +المادة 35 +لكل عضو من "الأمم المتحدة" أن ينبه مجلس الأمن أو الجمعية العامة إلى أي نزاع أو موقف من النوع المشار إليه في المادة الرابعة والثلاثين. +لكل دولة ليست عضواً في "الأمم المتحدة" أن تنبه مجلس الأمن أو الجمعية العامة إلى أي نزاع تكون طرفا فيه إذا كانت تقبل مقدماً في خصوص هذا النزاع التزامات الحل السلمي المنصوص عليها في هذا الميثاق. +تجرى أحكام المادتين 11 و12 على الطريقة التي تعالج بها الجمعية العامة المسائل التي تنبه إليها وفقا لهذه المادة. +المادة 36 +لمجلس الأمن في أية مرحلة من مراحل نزاع من النوع المشار إليه في المادة 33 أو موقف شبيه به أن يوصي بما يراه ملائماً من الإجراءات وطرق التسوية. +على مجلس الأمن أن يراعي ما اتخذه المتنازعون من إجراءات سابقة لحل النزاع القائم بينهم. +على مجلس الأمن وهو يقدم توصياته وفقا لهذه المادة أن يراعي أيضاً أن المنازعات القانونية يجب على أطراف النزاع - بصفة عامة - أن يعرضوها على محكمة العدل الدولية وفقاً لأحكام النظام الأساسي لهذه المحكمة. +المادة 37 +إذا أخفقت الدول التي يقوم بينها نزاع من النوع المشار إليه في المادة 33 في حله بالوسائل المبينة في تلك المادة وجب عليها أن تعرضه على مجلس الأمن. +إذا رأى مجلس الأمن أن استمرار هذا النزاع من شأنه في الواقع، أن يعرض للخطر حفظ السلم والأمن الدولي قرر ما إذا كان يقوم بعمل وفقاً للمادة 36 أو يوصي بما يراه ملائماً من شروط حل النزاع. +المادة 38 +لمجلس الأمن - إذا طلب إليه جميع المتنازعين ذلك - أن يقدم إليهم توصياته بقصد حل النزاع حلاً سلمياً، وذلك بدون إخلال بأحكام المواد من 33 إلى 37. + +الفصل السابع: فيما يتخذ من الأعمال في حالات تهديد السلم والإخلال به ووقوع العدوان +المادة 39 +يقرر مجلس الأمن ما إذا كان قد وقع تهديد للسلم أو إخلال به أو كان ما وقع عملاًً من أعمال العدوان، ويقدم في ذلك توصياته أو يقرر ما يجب اتخاذه من التدابير طبقاً لأحكام المادتين 41 و42 لحفظ السلم والأمن الدولي أو إعادته إلى نصابه. + +المادة 40 +منعاً لتفاقم الموقف، لمجلس الأمن، قبل أن يقوم توصياته أو يتخذ التدابير المنصوص عليها في المادة 39، أن يدعو المتنازعين للأخذ بما يراه ضرورياً أو مستحسناً من تدابير مؤقتة، ولا تخل هذه التدابير المؤقتة بحقوق المتنازعين ومطالبهم أو بمركزهم، وعلى مجلس الأمن أن يحسب لعدم أخذ المتنازعين بهذه التدابير المؤقتة حسابه. + +المادة 41 +لمجلس الأمن أن يقرر ما يجب اتخاذه من التدابير التي لا تتطلب استخدام القوات المسلحة لتنفيذ قراراته، وله أن يطلب إلى أعضاء "الأمم المتحدة" تطبيق هذه التدابير، ويجوز أن يكون من بينها وقف الصلات الاقتصادية والمواصلات الحديدية والبحرية والجوية والبريدية والبرقية واللاسلكية وغيرها من وسائل المواصلات وقفا جزئياً أو كليا وقطع العلاقات الدبلوماسية. + +المادة 42 +إذا رأى مجلس الأمن أن التدابير المنصوص عليها في المادة 41 لا تفي بالغرض أو ثبت أنها لم تف به، جاز له أن يتخذ بطريق القوات الجوية والبحرية والبرية من الأعمال ما يلزم لحفظ السلم والأمن الدولي أو لإعادته إلى نصابه. ويجوز أن تتناول هذه الأعمال المظاهرات والحصر والعمليات الأخرى بطريق القوات الجوية أو البحرية أو البرية التابعة لأعضاء "الأمم المتحدة". + +المادة 43 +يتعهد جميع أعضاء "الأمم المتحدة" في سبيل المساهمة في حفظ السلم والأمن الدولي، أن يضعوا تحت تصرف مجلس الأمن بناء على طلبه وطبقاً لاتفاق أو اتفاقات خاصة ما يلزم من القوات المسلحة والمساعدات والتسهيلات الضرورية لحفظ السلم والأمن الدولي ومن ذلك حق المرور. +يجب أن يحدد ذلك الاتفاق أو تلك الاتفاقات عدد هذه القوات وأنواعها ومدى استعدادها وأماكنها عموماً ونوع التسهيلات والمساعدات التي تقدم. +تجرى المفاوضة في الاتفاق أو الاتفاقات المذكورة بأسرع ما يمكن بناءً على طلب مجلس الأمن، وتبرم بين مجلس الأمن وبين أعضاء "الأمم المتحدة" أو بينه وبين مجموعات من أعضاء "الأمم المتحدة"، وتصدق عليها الدول الموقعة وفق مقتضيات أوضاعها الدستورية. +المادة 44 +إذا قرر مجلس الأمن استخدام القوة، فإنه قبل أن يطلب من عضو غير ممثل فيه تقديم القوات المسلحة وفاءً بالالتزامات المنصوص عليها في المادة 43، ينبغي له أن يدعو هذا العضو إلى أن يشترك إذا شاء في القرارات التي يصدرها فيما يختص باستخدام وحدات من قوات هذا العضو المسلحة. + +المادة 45 +رغبة في تمكين الأمم المتحدة من اتخاذ التدابير الحربية العاجلة يكون لدى الأعضاء وحدات جوية أهلية يمكن استخدامها فوراً لأعمال القمع الدولية المشتركة. ويحدد مجلس الأمن قوى هذه الوحدات ومدى استعدادها والخطط لأعمالها المشتركة، وذلك بمساعدة لجنة أركان الحرب وفي الحدود الواردة في الاتفاق أو الاتفاقات الخاصة المشار إليها في المادة 43. + +المادة 46 +الخطط اللازمة لاستخدام القوة المسلحة يضعها مجلس الأمن بمساعدة لجنة أركان الحرب. + +المادة 47 +تشكل لجنة من أركان الحرب تكون مهمتها أن تسدي المشورة والمعونة إلى مجلس الأمن وتعاونه في جميع المسائل المتصلة بما يلزمه من حاجات حربية لحفظ السلم والأمن الدولي ولاستخدام القوات الموضوعة تحت تصرفه وقيادتها ولتنظيم التسليح ونزع السلاح بالقدر المستطاع. +تشكل لجنة أركان الحرب من رؤساء أركان حرب الأعضاء الدائمين في مجلس الأمن أو من يقوم مقامهم، وعلى اللجنة أن تدعو أي عضو في "الأمم المتحدة" من الأعضاء غير الممثلين فيها بصفة دائمة للإشراف في عملها إذا اقتضى حسن قيام اللجنة بمسؤولياتها أن يساهم هذا العضو في عملها. +لجنة أركان الحرب مسؤولة تحت إشراف مجلس الأمن عن التوجيه الاستراتيجي لأية قوات مسلحة موضوعة تحت تصرف المجلس. أما المسائل المرتبطة بقيادة هذه القوات فستبحث فيما بعد. +للجنة أركان الحرب أن تنشئ لجاناً فرعية إقليمية إذا خوّلها ذلك مجلس الأمن وبعد التشاور مع الوكالات الإقليمية صاحبة الشأن. +المادة 48 +الأعمال اللازمة لتنفيذ قرارات مجلس الأمن لحفظ السلم والأمن الدولي يقوم بها جميع أعضاء "الأمم المتحدة" أو بعض هؤلاء الأعضاء وذلك حسبما يقرره المجلس. +يقوم أعضاء "الأمم المتحدة" بتنفيذ القرارات المتقدمة مباشرة وبطريق العمل في الوكالات الدولية المتخصصة التي يكونون أعضاء فيها. +المادة 49 +يتضافر أعضاء "الأمم المتحدة" على تقديم المعونة المتبادلة لتنفيذ التدابير التي قررها مجلس الأمن. + +المادة 50 +إذا اتخذ مجلس الأمن ضد أية دولة تدابير منع أو قمع فإن لكل دولة أخرى - سواء أكانت من أعضاء "الأمم المتحدة" أم لم تكن - تواجه مشاكل اقتصادية خاصة تنشأ عن تنفيذ هذه التدابير، الحق في أن تتذاكر مع مجلس الأمن بصدد حل هذه المشاكل. + +المادة 51 +ليس في هذا الميثاق ما يضعف أو ينتقص الحق الطبيعي للدول، فرادى أو جماعات، في الدفاع عن أنفسهم إذا اعتدت قوة مسلحة على أحد أعضاء "الأمم المتحدة" وذلك إلى أن يتخذ مجلس الأمن التدابير اللازمة لحفظ السلم والأمن الدولي، والتدابير التي اتخذها الأعضاء استعمالاً لحق الدفاع عن النفس تبلغ إلى المجلس فورا، ولا تؤثر تلك التدابير بأي حال فيما للمجلس - بمقتضى سلطته ومسؤولياته المستمرة من أحكام هذا الميثاق - من الحق في أن يتخذ في أي وقت ما يرى ضرورة لاتخاذه من الأعمال لحفظ السلم والأمن الدولي أو إعادته إلى نصابه. + +الفصل الثامـن: التنظيمات الإقليمية +المادة 52 +ليس في هذا الميثاق ما يحول دون قيام تنظيمات أو وكالات إقليمية تعالج من الأمور المتعلقة بحفظ السلم والأمن الدولي ما يكون العمل الإقليمي صالحاً فيها ومناسباً ما دامت هذه التنظيمات أو الوكالات الإقليمية ونشاطها متلائمة مع مقاصد "الأمم المتحدة" ومبادئها. +يبذل أعضاء "الأمم المتحدة" الداخلون في مثل هذه التنظيمات أو الذين تتألف منهم تلك الوكالات كل جهدهم لتدبير الحل السلمي للمنازعات المحلية عن طريق هذه التنظيمات الإقليمية أو بواسطة هذه الوكالات وذلك قبل عرضها على مجلس الأمن. +على مجلس الأمن أن يشجع على الاستكثار من الحل السلمي لهذه المنازعات المحلية بطريق هذه التنظيمات الإقليمية أو بواسطة تلك الوكالات الإقليمية بطلب من الدول التي يعنيها الأمر أو بالإحالة عليها من جانب مجلس الأمن. +لا تعطل هذه المادة بحال من الأحوال تطبيق المادتين 34 و 35. +المادة 53 +يستخدم مجلس الأمن تلك التنظيمات والوكالات الإقليمية في أعمال القمع، كلما رأى ذلك ملائماً ويكون عملها حينئذ تحت مراقبته وإشرافه. أما التنظيمات والوكالات نفسها فإنه لا يجوز بمقتضاها أو على يدها القيام بأي عمل من أعمال القمع بغير إذن المجلس، ويستثنى مما تقدم التدابير التي تتخذ ضد أية دولة من دول الأعداء المعرّفة في الفقرة 2 من هذه المادة مما هو منصوص عليه في المادة 107 أو التدابير التي يكون المقصود بها في التنظيمات الإقليمية منع تجدد سياسة العدوان من جانب دولة من تلك الدول، وذلك إلى أن يحين الوقت الذي قد يعهد فيه إلى الهيئة، بناءً على طلب الحكومات ذات الشأن، بالمسؤولية عن منع كل عدوان آخر من جانب أية دولة من تلك الدول. +تنطبق عبارة "الدولة المعادية" المذكورة في الفقرة 1 من هذه المادة على أية دولة كانت في الحرب العالمية الثانية من أعداء أية دولة موقعة على هذا الميثاق. +المادة 54 +يجب أن يكون مجلس الأمن على علم تام بما يجري من الأعمال لحفظ السلم والأمن الدولي بمقتضى تنظيمات أو بواسطة وكالات إقليمية أو ما يزمع إجراؤه منها. + +الفصل التاسع: التعاون الدولي الاقتصادي والاجتماعي +المادة 55 +رغبة في تهيئة دواعي الاستقرار والرفاهية الضروريين لقيام علاقات سليمة ودية بين الأمم المتحدة مؤسسة على احترام المبدأ الذي يقضي بالتسوية في الحقوق بين الشعوب وبأن يكون لكل منها تقرير مصيرها، تعمل الأمم المتحدة على: + +تحقيق مستوى أعلى للمعيشة وتوفير أسباب الاستخدام المتصل لكل فرد والنهوض بعوامل التطور والتقدم الاقتصادي والاجتماعي. +تيسير الحلول للمشاكل الدولية الاقتصادية والاجتماعية والصحية وما يتصل بها، وتعزيز التعاون الدولي في أمور الثقافة والتعليم. +أن يشيع في العالم احترام حقوق الإنسان والحريات الأساسية للجميع بلا تمييز بسبب الجنس أو اللغة أو الدين، ولا تفريق بين الرجال والنساء، ومراعاة تلك الحقوق والحريات فعلاً. +المادة 56 +يتعهد جميع الأعضاء بأن يقوموا، منفردين أو مشتركين، بما يجب عليهم من عمل بالتعاون مع الهيئة لإدراك المقاصد المنصوص عليها في المادة 55. + +المادة 57 +الوكالات المختلفة التي تنشأ بمقتضى اتفاق بين الحكومات والتي تضطلع بمقتضى نظمها الأساسية بتبعات دولية واسعة في الاقتصاد والاجتماع والثقافة والتعليم والصحة وما يتصل بذلك من الشؤون يوصل بينها وبين "الأمم المتحدة" وفقا لأحكام المادة 63. +تسمى هذه الوكالات التي يوصل بينها وبين "الأمم المتحدة" فيما يلي من الأحكام بالوكالات المتخصصة. +المادة 58 +تقدم الهيئة توصيات بقصد تنسيق سياسات الوكالات المتخصصة ووجوه نشاطها. + +المادة 59 +تدعو الهيئة عند المناسبة إلى أجراء مفاوضات بين الدول ذات الشأن بقصد إنشاء أية وكالة متخصصة جديدة يتطلبها تحقيق المقاصد المبينة في المادة 55. + +المادة 60 +مقاصد الهيئة المبينة في هذا الفصل تقع مسؤولية تحقيقها على عاتق الجمعية العامة كما تقع على عاتق المجلس الاقتصادي والاجتماعي تحت إشراف الجمعية العامة، ويكون لهذا المجلس من أجل ذلك السلطات المبينة في الفصل العاشر. + +الفصل العاشر: المجلس الاقتصادي والاجتماعي +التأليف +المادة 61 +يتألف المجلس الاقتصادي والاجتماعي من أربعة وخمسين عضواً من الأمم المتحدة تنتخبهم الجمعية العامة. +مع مراعاة أحكام الفقرة 3، ينتخب ثمانية عشر عضواً من أعضاء المجلس الاقتصادي والاجتماعي كل سنة لمدة ثلاث سنوات ويحوز أن يعاد انتخاب العضو الذي انتهت مدته مباشرة. +في الانتخاب الأول بعد زيادة عدد أعضاء المجلس الاقتصادي والاجتماعي من سبعة وعشرين إلى أربعة وخمسين عضواً، يختار سبعة وعشرون عضواً إضافياً علاوة على الأعضاء المنتخبين محل الأعضاء التسعة الذين تنتهي مدة عضويتهم في نهاية هذا العام. وتنتهي عضوية تسعة من هؤلاء الأعضاء السبعة والعشرين الإضافيين بعد انقضاء سنة واحدة، وتنتهي عضوية تسعة أعضاء آخرين بعد انقضاء سنتين، ويجرى ذلك وفقا للنظام الذي تضعه الجمعية العامة. +يكون لكل عضو من أعضاء المجلس الاقتصادي والاجتماعي مندوب واحد. +الوظائف والسلطـات +المادة 62 +للمجلس الاقتصادي والاجتماعي أن يقوم بدراسات ويضع تقارير عن المسائل الدولية في أمور الاقتصاد والاجتماع والثقافة والتعليم والصحة وما يتصل بها، كما أن له أن يوجه إلى مثل تلك الدراسات وإلى وضع مثل تلك التقارير. وله أن يقدم توصياته في أية مسألة من تلك المسائل إلى الجمعية العامة وإلى أعضاء "الأمم المتحدة" وإلى الوكالات المتخصصة ذات الشأن. +وله أن يقدم توصيات فيما يختص بإشاعة احترام حقوق الإنسان والحريات الأساسية ومراعاتها. +وله أن يعد مشروعات اتفاقات لتعرض على الجمعية العامة عن المسائل التي تدخل في دائرة اختصاصه. +وله أن يدعو إلى عقد مؤتمرات دولية لدراسة المسائل التي تدخل في دائرة اختصاصه وفقا للقواعد التي تضعها "الأمم المتحدة". +المادة 63 +للمجلس الاقتصادي والاجتماعي أن يضع اتفاقات مع أي وكالة من الوكالات المشار إليها في المادة 57 تحدد الشروط التي على مقتضاها يوصل بينها وبين "الأمم المتحدة" وتعرض هذه الاتفاقات على الجمعية العامة للموافقة عليها. +وله أن ينسق وجوه نشاط الوكالات المتخصصة بطريق التشاور معها وتقديم توصياته إليها وإلى الجمعية العامة وأعضاء "الأمم المتحدة". +المادة 64 +للمجلس الاقتصادي والاجتماعي أن يتخذ الخطوات المناسبة للحصول بانتظام على تقارير من الوكالات المتخصصة وله أن يضع مع أعضاء "الأمم المتحدة" ومع الوكالات المتخصصة ما يلزم من الترتيبات كيما تمده بتقارير عن الخطوات التي اتخذتها لتنفيذ توصياته أو لتنفيذ توصيات الجمعية العامة في شأن المسائل الداخلة في اختصاصه. +وله أن يبلغ الجمعية العامة ملاحظاته على هذه التقارير. +المادة 65 +للمجلس الاقتصادي والاجتماعي أن يمد مجلس الأمن بما يلزم من المعلومات وعليه أن يعاونه متى طلب إليه ذلك. + +المادة 66 +يقوم المجلس الاقتصادي والاجتماعي في تنفيذ توصيات الجمعية العامة بالوظائف التي تدخل في اختصاصه. +وله بعد موافقة الجمعية العامة أن يقوم بالخدمات اللازمة لأعضاء "الأمم المتحدة" أو الوكالات المتخصصة متى طلب إليه ذلك. +يقوم المجلس بالوظائف الأخرى المبينة في غير هذا الموضع مع الميثاق وبالوظائف التي قد تعهد بها إليه الجمعية العامة. +التصويت +المادة 67 +يكون لكل عضو من أعضاء المجلس الاقتصادي والاجتماعي صوت واحد. +تصدر قرارات المجلس الاقتصادي والاجتماعي بأغلبية أعضائه الحاضرين المشتركين في التصويت. +الإجـراءات +المادة 68 +ينشئ المجلس الاقتصادي والاجتماعي لجاناً للشؤون الاقتصادية والاجتماعية ولتعزيز حقوق الإنسان، كما ينشئ غير ذلك من اللجان التي قد يحتاج إليها لتأدية وظائفه. + +المادة 69 +يدعو المجلس الاقتصادي والاجتماعي أي عضو من "الأمم المتحدة" للاشتراك في مداولاته عند بحث أية مسألة تعني هذا العضو بوجه خاص، على ألا يكون له حق التصويت. + +المادة 70 +للمجلس الاقتصادي والاجتماعي أن يعمل على إشراك مندوبي الوكالات المتخصصة في مداولاته أو في مداولات اللجان التي ينشئها دون أن يكون لهم حق التصويت، كما أن له أن يعمل على إشراك مندوبيه في مداولات الوكالة المتخصصة. + +المادة 71 +للمجلس الاقتصادي والاجتماعي أن يجرى الترتيبات المناسبة للتشاور مع الهيئات غير الحكومية التي تعني بالمسائل الداخلة في اختصاصه. وهذه الترتيبات قد يجريها المجلس مع هيئات دولية، كما أنه قد يجريها إذا رأى ذلك ملائماً مع هيئات أهلية وبعد التشاور مع عضو "الأمم المتحدة" ذي الشأن. + +المادة 72 +يضع المجلس الاقتصادي والاجتماعي لائحة إجراءاته ومنها طريقة اختيار رئيسه. +يجتمع المجلس الاقتصادي والاجتماعي كلما دعت الحاجة إلى ذلك وفقا للائحة التي يسنها. ويجب أن تتضمن تلك اللائحة النص على دعوته للاجتماع بناءً على طلب يقدم من أغلبية أعضائه. +الفصل الحادي عشر: تصريح يتعلق بالأقاليم غير المتمتعة بالحكم الذاتي +المادة 73 +يقرر أعضاء الأمم المتحدة - الذين يضطلعون في الحال أو في المستقبل بتبعات عن إدارة أقاليم لم تنل شعوبها قسطاً كاملاً من الحكم الذاتي - المبدأ القاضي بأن مصالح أهل هذه الأقاليم لها المقام الأول، ويقبلون أمانة مقدسة في عنقهم، الالتزام بالعمل على تنمية رفاهية أهل هذه الأقاليم إلى أقصى حد مستطاع في نطاق السلم والأمن الدولي الذي رسمه هذا الميثاق. ولهذا الغرض: + +يكفلون تقدم هذه الشعوب في شؤون السياسة والاقتصاد والاجتماع والتعليم، كما يكفلون معاملتها بإنصاف وحمايتها من ضروب الإساءة - كل ذلك مع مراعاة الاحترام الواجب لثقافة هذه الشعوب. +ينمون الحكم الذاتي، ويقدرون الأماني السياسية لهذه الشعوب قدرها، ويعاونونها على إنماء نظمها السياسية الحرة نمواً مطرداً، وفقا للظروف الخاصة لكل إقليم وشعوبه، ومراحل تقدمها المختلفة. +يوطدون السلم والأمن الدولي. +يعززون التدابير الإنسانية للرقي والتقدم، ويشجعون البحوث، ويتعاونون فيما بينهم لتحقيق المقاصد الاجتماعية والاقتصادية والعلمية المفصّلة في هذه المادة تحقيقاً عملياً، كما يتعاونون أيضاً لهذا الغرض مع الهيئات الدولية المتخصصة كلما تراءت لهم ملاءمة ذلك. ./li> +يرسلون إلى الأمين العام بانتظام يحيطونه علماً بالبيانات الإحصائية وغيرها من البيانات الفنية المتعلقة بأمور الاقتصاد والاجتماع والتعليم في الأقاليم التي يكونون مسؤولين عنها، عدا الأقاليم التي تنطبق عليها أحكام الفصلين الثاني عشر والثالث عشر من هذا الميثاق. كل ذلك مع مراعاة القيود التي قد تستدعيها الاعتبارات المتعلقة بالأمن والاعتبارات الدستورية. +المادة 74 +يوافق أعضاء الأمم المتحدة أيضاً على أن سياستهم إزاء الأقاليم التي ينطبق عليها هذا الفصل - كسياستهم في بلادهم نفسها - يجب أن تقوم على مبدأ حسن الجوار، وأن تراعي حق المراعاة مصالح بقية أجزاء العالم ورفاهيتها في الشؤون الاجتماعية والاقتصادية والتجارية. + +الفصل الثاني عشر: نظام الوصاية الدولي +المادة 75 +تنشئ "الأمم المتحدة" تحت إشرافها نظاماً دولياً للوصاية، وذلك لإدارة الأقاليم التي قد تخضع لهذا النظام بمقتضى إتفاقات فردية لاحقة وللإشراف عليها، ويطلق على هذه الأقاليم فيما يلي من الأحكام اسم الأقاليم المشمولة بالوصاية. + +المادة 76 +الأهداف الأساسية لنظام الوصاية طبقاً لمقاصد "الأمم المتحدة" المبينة في المادة الأولى من هذا الميثاق هي: + +توطيد السلم والأمن الدولي؛ +لحكم الذاتي أو الاستقلال حسبما يلائم الظروف الخاصة لكل إقليم وشعوبه، ويتفق مع رغبات هذه الشعوب التي تعرب عنها بملء حريتها وطبقاً لما قد ينص عليه في شروط كل اتفاق من اتفاقات الوصاية؛ +التشجيع على احترام حقوق الإنسان والحريات الأساسية للجميع بلا تمييز بسبب الجنس أو اللغة أو الدين، ولا تفريق بين الرجال والنساء، والتشجيع على إدراك ما بين شعوب العالم من تقيد بعضهم بالبعض؛ +كفالة المساواة في المعاملة في الأمور الاجتماعية والاقتصادية والتجارية لجميع أعضاء "الأمم المتحدة" وأهاليها والمساواة بين هؤلاء الأهالي أيضاً فيما يتعلق بإجراء القضاء، وذلك مع عدم الإخلال بتحقيق الأغراض المتقدمة ومع مراعاة أحكام المادة 80. +المادة 77 +يطبق نظام الوصاية على الأقاليم الداخلة في الفئات الآتية مما قد يوضع تحت حكمها بمقتضى اتفاقات وصاية: +الأقاليم المشمولة الآن بالانتداب؛ +الأقاليم التي قد تقتطع من دول الأعداء نتيجة للحرب العالمية الثانية؛ +الأقاليم التي تضعها في الوصاية بمحض اختيارها دول مسؤولة عن إدارتها. +أما تعيين أي الأقاليم من الفئات سالفة الذكر يوضع تحت نظام الوصاية وطبقاً لأي شروط، فذلك من شأن ما يعقد بعد من اتفاقات +المادة 78 +لا يطبق نظام الوصاية على الأقاليم التي أصبحت أعضاء في هيئة "الأمم المتحدة" إذ العلاقات بين أعضاء هذه الهيئة يجب أن تقوم على احترام مبدأ المساواة في السيادة. + +المادة 79 +شروط الوصاية لكل إقليم يوضع تحت ذلك النظام، وكل تغيير أو تعديل يطرآن بعد عليها، ذلك كله يتفق عليه برضا الدول التي يعنيها هذا الأمر بالذات ومنها الدولة المنتدبة في حالة الأقاليم المشمولة بانتداب أحد أعضاء "الأمم المتحدة". وهذا مع مراعاة أحكام المادتين 83 و85 في شأن المصادقة على تلك الشروط وتعديلاتها. + +المادة 80 +فيما عدا ما قد يتفق عليه في اتفاقات الوصاية الفردية التي تبرم وفق أحكام المواد 77 و 79 و 81 وبمقتضاها توضع الأقاليم تحت الوصاية، وإلى أن تعقد مثل هذه الاتفاقات لا يجوز تأويل نص أي حكم من أحكام هذا الفصل ولا تخريجه تأويلاً أو تخريجاً من شأنه أن يغير بطريقة ما أية حقوق لأية دول أو شعوب، أو يغير شروط الاتفاقات الدولية القائمة التي قد يكون أعضاء "الأمم المتحدة" أطرافاً فيها. +لا يجوز أن تؤول الفقرة الأولى من هذه المادة على أنها تهيئ سبباً لتأخير أو تأجيل المفاوضة في الاتفاقات التي ترمي لوضع الأقاليم المشمولة بالانتداب أو غيرها من الأقاليم في نظام الوصاية طبقا للمادة 77 أو تأخير أو تأجيل إبرام مثل تلك الاتفاقات. +المادة 81 +يشمل اتفاق الوصاية، في كل حالة، الشروط التي يدار بمقتضاها الإقليم المشمول بالوصاية، ويعين السلطة التي تباشر إدارة ذلك الإقليم، ويجوز أن تكون هذه السلطة التي يطلق عليها فيما يلي من الأحكام "السلطة القائمة بالإدارة" دولة أو أكثر أو هيئة "الأمم المتحدة" ذاتها. + +المادة 82 +يجوز أن يحدد في أي اتفاق من اتفاقات الوصاية موقع استراتيجي قد يشمل الإقليم الذي ينطبق عليه نظام الوصاية بعضه أو كله، وذلك دون الإخلال بأي اتفاق أو اتفاقات خاصة معقودة طبقا لنص المادة 43. + +المادة 83 +يباشر مجلس الأمن جميع وظائف "الأمم المتحدة" المتعلقة بالمواقع الاستراتيجية، ويدخل في ذلك الموافقة على شروط اتفاقات الوصاية وتغييرها أو تعديلها. +تراعى جميع الأهداف الأساسية المبينة في المادة 76 بالنسبة لشعب كل موقع استراتيجي. +يستعين مجلس الأمن بمجلس الوصاية - مع مراعاة أحكام اتفاقيات الوصاية ودون إخلال بالاعتبارات المتصلة بالأمن - في مباشرة ما كان من وظائف "الأمم المتحدة" في نظام الوصاية خاصاً بالشؤون السياسية والاقتصادية والاجتماعية والتعليمية للمواقع الاستراتيجية. +المادة 84 +يكون من واجب السلطة القائمة بالإدارة أن تكفل قيام الإقليم المشمول بالوصاية بنصيبه في حفظ السلم والأمن الدولي. وتحقيقا لهذه الغاية يجوز للسلطة القائمة بالإدارة أن تستخدم قوات متطوعة وتسهيلات ومساعدات من الإقليم المشمول بالوصاية للقيام بالالتزامات التي تعهدت بها تلك السلطة لمجلس الأمن في هذا الشأن، وللقيام أيضاً بالدفاع وبإقرار حكم القانون والنظام داخل الإقليم المشمول بالوصاية. + +المادة 85 +تباشر الجمعية العامة وظائف "الأمم المتحدة" فيما يختص باتفاقات الوصاية على كل المساحات التي لم ينص على أنها مساحات استراتيجية ويدخل في ذلك إقرار شروط اتفاقات الوصاية وتغييرها أو تعديلها. +يساعد مجلس الوصاية الجمعية العامة في القيام بهذه الوظائف عاملاً تحت إشرافها. +الفصل الثالث عشر: مجلس الوصاية +التأليف +المادة 86 +يتألف مجلس الوصاية من أعضاء "الأمم المتحدة" الآتي بيانهم: +الأعضاء الذين يتولون إدارة أقاليم مشمولة بالوصاية؛ +الأعضاء المذكورون بالاسم في المادة 23 الذين لا يتولون إدارة أقاليم مشمولة بالوصاية؛ +العدد الذي يلزم من الأعضاء الآخرين لكفالة أن يكون جملة أعضاء مجلس الوصاية فريقين متساويين، أحدهما الأعضاء الذين يقومون بإدارة الأقاليم المشمولة بالوصاية، والآخر الأعضاء الذين خلوا من تلك الإدارة. وتنتخب الجمعية العامة هؤلاء الأعضاء لمدة ثلاث سنوات. +يعين كل عضو من أعضاء مجلس الوصاية من يراه أهلاً بوجه خاص لتمثيله في هذا المجلس. +الوظائف والسلطـات +المادة 87 +لكل من الجمعية العامة ومجلس الوصاية عاملاً تحت إشرافها، وهما يقومان بأداء وظائفهما: + +أن ينظر في التقارير التي ترفعها السلطة القائمة بالإدارة. +أن يقبل العرائض ويفحصها بالتشاور مع السلطة القائمة بالإدارة. +أن يقبل العرائض ويفحصها بالتشاور مع السلطة القائمة بالإدارة. +أن يتخذ هذه التدابير وغيرها، وفقا للشروط المبينة في اتفاقات الوصاية. +المادة 88 +يضع مجلس الوصاية طائفة من الأسئلة عن تقدم سكان كل إقليم مشمول بالوصاية في الشؤون السياسية والاقتصادية والاجتماعية والتعليمية. وتقدم السلطة القائمة بالإدارة في كل إقليم مشمول بالوصاية داخل اختصاص الجمعية العامة تقريراً سنوياً للجمعية العامة موضوعاً على أساس هذه الأسئلة. + +التصويت +المادة 89 +يكون لك عضو في مجلس الوصاية صوت واحد. +تصدر قرارات مجلس الوصاية بأغلبية الأعضاء الحاضرين المشتركين في التصويت. +الإجـراءات +المادة 90 +يضع مجلس الوصاية لائحة إجراءاته ومنها طريقة اختيار رئيسه. +يجتمع مجلس الوصاية كلما دعت الحاجة لذلك وفقاً للائحة التي يسنها. ويجب أن تتضمن تلك اللائحة النص على دعوته للاجتماع بناءً على طلب يقدم من أغلبية أعضائه. +المادة 91 +يستعين مجلس الوصاية، كلما كان ذلك مناسباً، بالمجلس الاقتصادي والاجتماعي وبالوكالات المتخصصة في كل ما يختص به كل منها من الشؤون. + +الفصل الرابع عشر: محكمة العدل الدولية +المادة 92 +محكمة العدل الدولية هي الأداة القضائية الرئيسية "للأمم المتحدة"، وتقوم بعملها وفق نظامها الأساسي الملحق بهذا الميثاق وهو مبني على النظام الأساسي للمحكمة الدائمة للعدل الدولي وجزء لا يتجزأ من الميثاق. + +المادة 93 +يعتبر جميع أعضاء "الأمم المتحدة" بحكم عضويتهم أطرافاً في النظام الأساسي لمحكمة العدل الدولية. +يجوز لدولة ليست من "الأمم المتحدة" أن تنضم إلى النظام الأساسي لمحكمة العدل الدولية بشروط تحددها الجمعية العامة لكل حالة بناء على توصية مجلس الأمن. +المادة 94 +يتعهد كل عضو من أعضاء "الأمم المتحدة" أن ينزل على حكم محكمة العدل الدولية في أية قضية يكون طرفاً فيها. +إذا امتنع أحد المتقاضين في قضية ما عن القيام بما يفرضه عليه حكم تصدره المحكمة، فللطرف الآخر أن يلجأ إلى مجلس الأمن، ولهذا المجلس، إذا رأى ضرورة لذلك أن يقدم توصياته أو يصدر قراراً بالتدابير التي يجب اتخاذها لتنفيذ هذا الحكم. +المادة 95 +ليس في هذا الميثاق ما يمنع أعضاء "الأمم المتحدة" من أن يعهدوا بحل ما ينشأ بينهم من خلاف إلى محاكم أخرى بمقتضى اتفاقات قائمة من قبل أو يمكن أن تعقد بينهم في المستقبل. + +المادة 96 +لأي من الجمعية العامة أو مجلس الأمن أن يطلب إلى محكمة العدل الدولية إفتاءه في أية مسألة قانونية. +ولسائر فروع الهيئة والوكالات المتخصصة المرتبطة بها، ممن يجوز أن تأذن لها الجمعية العامة بذلك في أي وقت، أن تطلب أيضاً من المحكمة إفتاءها فيما يعرض لها من المسائل القانونية الداخلة في نطاق أعمالها. +الفصل الخامس عشر: الأمـانة العامة +المادة 97 +يكون للهيئة أمانة تشمل أميناً عاماً ومن تحتاجهم الهيئة من الموظفين. وتعين الجمعية العامة الأمين العام بناءً على توصية مجلس الأمن. والأمين العام هو الموظف الإداري الأكبر في الهيئة. + +المادة 98 +يتولى الأمين العام أعماله بصفته هذه في كل اجتماعات الجمعية العامة ومجلس الأمن والمجلس الاقتصادي والاجتماعي، ومجلس الوصاية، ويقوم بالوظائف الأخرى التي تكلها إليه هذه الفروع. ويعد الأمين العام تقريراً سنوياً للجمعية العامة بأعمال الهيئة. + +المادة 99 +للأمين العام أن ينبه مجلس الأمن إلى أية مسألة يرى أنها قد تهدد حفظ السلم والآمن الدولي. + +المادة 100 +ليس للأمين العام ولا للموظفين أن يطلبوا أو أن يتلقوا في تأدية واجبهم تعليمات من أية حكومة أو من أية سلطة خارجة عن الهيئة. وعليهم أن يمتنعوا عن القيام بأي عمل قد يسئ إلى مراكزهم بوصفهم موظفين دوليين مسؤولين أمام الهيئة وحدها. +يتعهد كل عضو في "الأمم المتحدة" باحترام الصفة الدولية البحتة لمسؤوليات الأمين العام والموظفين وبألا يسعى إلى التأثير فيهم عند اضطلاعهم بمسؤولياتهم. +المادة 101 +يعين الأمين العام موظفي الأمانة طبقا للوائح التي تضعها الجمعية العامة. +يعين للمجلس الاقتصادي والاجتماعي ولمجلس الوصاية ما يكفيهما من الموظفين على وجه دائم ويعين لغيرهما من فروع "الأمم المتحدة" الأخرى ما هي بحاجة إليه منهم. وتعتبر جملة هؤلاء الموظفين جزءاً من الأمانة. +ينبغي في استخدام الموظفين وفي تحديد شروط خدمتهم أن يراعى في المكان الأول ضرورة الحصول على أعلى مستوى من المقدرة والكفاية والنزاهة. كما أن من المهم أن يراعى في اختيارهم أكبر ما يستطاع من معاني التوزيع الجغرافي. +Chapter XVI: Miscellaneous Provisions +المادة 102 +كل معاهدة وكل اتفاق دولي يعقده أي عضو من أعضاء "الأمم المتحدة" بعد العمل بهذا الاتفاق يجب أن يسجل في أمانة الهيئة وأن تقوم بنشره بأسرع ما يمكن. +ليس لأي طرف في معاهدة أو اتفاق دولي لم يسجل وفقاً للفقرة الأولى من هذه المادة أن يتمسك بتلك المعاهدة أو ذلك الاتفاق أمام أي فرع من فروع "الأمم المتحدة". +المادة 103 +إذا تعارضت الالتزامات التي يرتبط بها أعضاء "الأمم المتحدة" وفقاً لأحكام هذا الميثاق مع أي التزام دولي آخر يرتبطون به فالعبرة بالتزاماتهم المترتبة على هذا الميثاق. + +المادة 104 +تتمتع الهيئة في بلاد كل عضو من أعضائها بالأهلية القانونية التي يتطلبها قيامها بأعباء وظائفها وتحقيق مقاصدها. + +المادة 105 +تتمتع الهيئة في أرض كل عضو من أعضائها بالمزايا والإعفاءات التي يتطلبها تحقيق مقاصدها. +وكذلك يتمتع المندوبون عن أعضاء "الأمم المتحدة" وموظفو هذه الهيئة بالمزايا والإعفاءات التي يتطلبها استقلالهم في القيام بمهام وظائفهم المتصلة بالهيئة. +للجمعية العامة أن تقدم التوصيات بقصد تحديد التفاصيل الخاصة بتطبيق الفقرتين 1 و 2 من هذه المادة، ولها أن تقترح على أعضاء الهيئة عقد اتفاقات لهذا الغرض. +الفصل السابع عشر: تدابير حفظ الأمن في فترة الانتقال +المادة 106 +إلى أن تصير الاتفاقات الخاصة المشار إليها في المادة الثالثة والأربعين معمولاً بها على الوجه الذي يرى معه مجلس الأمن أنه أصبح يستطيع البدء في احتمال مسؤولياته وفقاً للمادة 42، تتشاور الدول التي اشتركت في تصريح الدول الأربع الموقع في موسكو في 30 تشرين الأول/أكتوبر سنة 1943 هي وفرنسا وفقاً لأحكام الفقرة 5 من ذلك التصريح، كما تتشاور الدول الخمس مع أعضاء "الأمم المتحدة" الآخرين، كلما اقتضت الحال، للقيام نيابة عن الهيئة بالأعمال المشتركة التي قد تلزم لحفظ السلم والأمن الدولي. + +المادة 107 +ليس في هذا الميثاق ما يبطل أو يمنع أي عمل إزاء دولة كانت في أثناء الحرب العالمية الثانية معادية لإحدى الدول الموقعة على هذا الميثاق إذا كان هذا العمل قد اتخذ أو رخص به نتيجة لتلك الحرب من قبل الحكومات المسؤولة عن القيام بهذا العمل. + +الفصل الثامن عشر: تعديل الميثاق +المادة 108 +التعديلات التي تدخل على هذا الميثاق تسري على جميع أعضاء "الأمم المتحدة" إذا صدرت بموافقة ثلثي أعضاء الجمعية العامة وصدق عليها ثلثا أعضاء "الأمم المتحدة" ومن بينهم جميع أعضاء مجلس الأمن الدائمين، وفقا للأوضاع الدستورية في كل دولة. + +المادة 109 +يجوز عقد مؤتمر عام من أعضاء "الأمم المتحدة" لإعادة النظر في هذا الميثاق في الزمان والمكان اللذين تحددهما الجمعية العامة بأغلبية ثلثي أعضائها وبموافقة تسعة ما من أعضاء مجلس الأمن, ويكون لكل عضو في "الأمم المتحدة" صوت واحد في المؤتمر. +كل تغيير في هذا الميثاق أوصى به المؤتمر بأغلبية ثلثي أعضائه يسري إذا صدق عليه ثلثا أعضاء "الأمم المتحدة" ومن بينهم الأعضاء الدائمون في مجلس الأمن وفقا لأوضاعهم الدستورية. +إذا لم يعقد هذا المؤتمر قبل الدورة العادية العاشرة للجمعية العامة، بعد العمل بهذا الميثاق، وجب أن يدرج بجدول أعمال ذلك الدور العاشر اقتراح بالدعوة إلى عقده، وهذا المؤتمر يعقد إذا قررت ذلك أغلبية أعضاء الجمعية العامة وسبعة ما من أعضاء مجلس الأمن. +الفصل التاسع عشر: التصديق والتوقيع +المادة 110 +تصدق على هذا الميثاق الدول الموقعة عليه كل منها حسب أوضاعه الدستورية. +تودع التصديقات لدى حكومة الولايات المتحدة الأمريكية التي تخطر الدول الموقعة عليه بكل إيداع يحصل، كما تخطر الأمين العام لهيئة "الأمم المتحدة" بعد تعيينه. +يصبح هذا الميثاق معمولاً به متى أودعت تصديقاتها جمهورية الصين وفرنسا واتحاد الجمهوريات الاشتراكية السوفياتية والمملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية والولايات المتحدة الأمريكية وأغلبية الدول الأخرى الموقعة عليه وتعد حكومة الولايات المتحدة الأمريكية بروتوكولاً خاصاً بالتصديقات المودعة وتبلغ صوراً منه لكل الدول الموقعة على الميثاق. +الدول الموقعة على هذا الميثاق التي تصدق عليه بعد العمل به، تعتبر من الأعضاء الأصليين في "الأمم المتحدة" من تاريخ إيداعها لتصديقاتها. +المادة 111 +وضع هذا الميثاق بلغات خمس هي الصينية والفرنسية والروسية والإنجليزية والأسبانية، وهي لغاته الرسمية على وجه السواء . ويظل الميثاق مودعاًُ في محفوظات حكومة الولايات المتحدة الأمريكية، وتبلغ هذه الحكومة حكومات الدول الأخرى الموقعة عليه صوراً معتمدة منه. + +ومصادقا لما تقدم وقع مندوبو حكومات "الأمم المتحدة" على هذا الميثاق. صدر بمدينة سان فرانسيسكو في اليوم السادس والعشرين من شهر حزيران/يونيه 1945. \ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_EN.html b/stdlib/benchmarks/collections/data/UN_charter_EN.html new file mode 100644 index 0000000000..a1ba6dc872 --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_EN.html @@ -0,0 +1,2333 @@ + + + + + + + + + + + + + + + + + + + United Nations Charter (full text) | United Nations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + +
+
+ + +
+ + + + + + + + + + +
+
+
+ +
+ + + +

United Nations Charter (full text)

+ + + + +
+
+ + +
+ + + + +
+
+
+
+

Preamble

+ +

WE THE PEOPLES OF THE UNITED NATIONS DETERMINED

+ +

to save succeeding generations from the scourge of war, which twice in our lifetime has brought untold sorrow to mankind, and

+ +

to reaffirm faith in fundamental human rights, in the dignity and worth of the human person, in the equal rights of men and women and of nations large and small, and

+ +

to establish conditions under which justice and respect for the obligations arising from treaties and other sources of international law can be maintained, and

+ +

to promote social progress and better standards of life in larger freedom,

+ +

AND FOR THESE ENDS

+ +

to practice tolerance and live together in peace with one another as good neighbours, and

+ +

to unite our strength to maintain international peace and security, and

+ +

to ensure, by the acceptance of principles and the institution of methods, that armed force shall not be used, save in the common interest, and

+ +

to employ international machinery for the promotion of the economic and social advancement of all peoples,

+ +

HAVE RESOLVED TO COMBINE OUR EFFORTS TO ACCOMPLISH THESE AIMS.

+ +

Accordingly, our respective Governments, through representatives assembled in the city of San Francisco, who have exhibited their full powers found to be in good and due form, have agreed to the present Charter of the United Nations and do hereby establish an international organization to be known as the United Nations.

+ +

Chapter I: Purposes and Principles

+ +

Article 1

+ +

The Purposes of the United Nations are:

+ +
    +
  1. To maintain international peace and security, and to that end: to take effective collective measures for the prevention and removal of threats to the peace, and for the suppression of acts of aggression or other breaches of the peace, and to bring about by peaceful means, and in conformity with the principles of justice and international law, adjustment or settlement of international disputes or situations which might lead to a breach of the peace;
  2. +
  3. To develop friendly relations among nations based on respect for the principle of equal rights and self-determination of peoples, and to take other appropriate measures to strengthen universal peace;
  4. +
  5. To achieve international co-operation in solving international problems of an economic, social, cultural, or humanitarian character, and in promoting and encouraging respect for human rights and for fundamental freedoms for all without distinction as to race, sex, language, or religion; and
  6. +
  7. To be a centre for harmonizing the actions of nations in the attainment of these common ends.
  8. +
+ +

Article 2

+ +

The Organization and its Members, in pursuit of the Purposes stated in Article 1, shall act in accordance with the following Principles.

+ +
    +
  1. The Organization is based on the principle of the sovereign equality of all its Members.
  2. +
  3. All Members, in order to ensure to all of them the rights and benefits resulting from membership, shall fulfill in good faith the obligations assumed by them in accordance with the present Charter.
  4. +
  5. All Members shall settle their international disputes by peaceful means in such a manner that international peace and security, and justice, are not endangered.
  6. +
  7. All Members shall refrain in their international relations from the threat or use of force against the territorial integrity or political independence of any state, or in any other manner inconsistent with the Purposes of the United Nations.
  8. +
  9. All Members shall give the United Nations every assistance in any action it takes in accordance with the present Charter, and shall refrain from giving assistance to any state against which the United Nations is taking preventive or enforcement action.
  10. +
  11. The Organization shall ensure that states which are not Members of the United Nations act in accordance with these Principles so far as may be necessary for the maintenance of international peace and security.
  12. +
  13. Nothing contained in the present Charter shall authorize the United Nations to intervene in matters which are essentially within the domestic jurisdiction of any state or shall require the Members to submit such matters to settlement under the present Charter; but this principle shall not prejudice the application of enforcement measures under Chapter Vll.
  14. +
+ +

Chapter II: Membership

+ +

Article 3

+ +

The original Members of the United Nations shall be the states which, having participated in the United Nations Conference on International Organization at San Francisco, or having previously signed the Declaration by United Nations of 1 January 1942, sign the present Charter and ratify it in accordance with Article 110.

+ +

Article 4

+ +
    +
  1. Membership in the United Nations is open to all other peace-loving states which accept the obligations contained in the present Charter and, in the judgment of the Organization, are able and willing to carry out these obligations.
  2. +
  3. The admission of any such state to membership in the United Nations will be effected by a decision of the General Assembly upon the recommendation of the Security Council.
  4. +
+ +

Article 5

+ +

A Member of the United Nations against which preventive or enforcement action has been taken by the Security Council may be suspended from the exercise of the rights and privileges of membership by the General Assembly upon the recommendation of the Security Council. The exercise of these rights and privileges may be restored by the Security Council.

+ +

Article 6

+ +

A Member of the United Nations which has persistently violated the Principles contained in the present Charter may be expelled from the Organization by the General Assembly upon the recommendation of the Security Council.

+ +

Chapter III: Organs

+ +

Article 7

+ +
    +
  1. There are established as principal organs of the United Nations: a General Assembly, a Security Council, an Economic and Social Council, a Trusteeship Council, an International Court of Justice and a Secretariat.
  2. +
  3. Such subsidiary organs as may be found necessary may be established in accordance with the present Charter.
  4. +
+ +

Article 8

+ +

The United Nations shall place no restrictions on the eligibility of men and women to participate in any capacity and under conditions of equality in its principal and subsidiary organs.

+ +

Chapter IV: The General Assembly

+ +

COMPOSITION

+ +

Article 9

+ +
    +
  1. The General Assembly shall consist of all the Members of the United Nations.
  2. +
  3. Each Member shall have not more than five representatives in the General Assembly.
  4. +
+ +

FUNCTIONS AND POWERS

+ +

Article 10

+ +

The General Assembly may discuss any questions or any matters within the scope of the present Charter or relating to the powers and functions of any organs provided for in the present Charter, and, except as provided in Article 12, may make recommendations to the Members of the United Nations or to the Security Council or to both on any such questions or matters.

+ +

Article 11

+ +
    +
  1. The General Assembly may consider the general principles of co-operation in the maintenance of international peace and security, including the principles governing disarmament and the regulation of armaments, and may make recommendations with regard to such principles to the Members or to the Security Council or to both.
  2. +
  3. The General Assembly may discuss any questions relating to the maintenance of international peace and security brought before it by any Member of the United Nations, or by the Security Council, or by a state which is not a Member of the United Nations in accordance with Article 35, paragraph 2, and, except as provided in Article 12, may make recommendations with regard to any such questions to the state or states concerned or to the Security Council or to both. Any such question on which action is necessary shall be referred to the Security Council by the General Assembly either before or after discussion.
  4. +
  5. The General Assembly may call the attention of the Security Council to situations which are likely to endanger international peace and security.
  6. +
  7. The powers of the General Assembly set forth in this Article shall not limit the general scope of Article 10.
  8. +
+ +

Article 12

+ +
    +
  1. While the Security Council is exercising in respect of any dispute or situation the functions assigned to it in the present Charter, the General Assembly shall not make any recommendation with regard to that dispute or situation unless the Security Council so requests.
  2. +
  3. The Secretary-General, with the consent of the Security Council, shall notify the General Assembly at each session of any matters relative to the maintenance of international peace and security which are being dealt with by the Security Council and shall similarly notify the General Assembly, or the Members of the United Nations if the General Assembly is not in session, immediately the Security Council ceases to deal with such matters.
  4. +
+ +

Article 13

+ +
    +
  1. The General Assembly shall initiate studies and make recommendations for the purpose of: +
      +
    1. promoting international co-operation in the political field and encouraging the progressive development of international law and its codification;
    2. +
    3. promoting international co-operation in the economic, social, cultural, educational, and health fields, and assisting in the realization of human rights and fundamental freedoms for all without distinction as to race, sex, language, or religion.
    4. +
    +
  2. +
  3. The further responsibilities, functions and powers of the General Assembly with respect to matters mentioned in paragraph 1 (b) above are set forth in Chapters IX and X.
  4. +
+ +

Article 14

+ +

Subject to the provisions of Article 12, the General Assembly may recommend measures for the peaceful adjustment of any situation, regardless of origin, which it deems likely to impair the general welfare or friendly relations among nations, including situations resulting from a violation of the provisions of the present Charter setting forth the Purposes and Principles of the United Nations.

+ +

Article 15

+ +
    +
  1. The General Assembly shall receive and consider annual and special reports from the Security Council; these reports shall include an account of the measures that the Security Council has decided upon or taken to maintain international peace and security.
  2. +
  3. The General Assembly shall receive and consider reports from the other organs of the United Nations.
  4. +
+ +

Article 16

+ +

The General Assembly shall perform such functions with respect to the international trusteeship system as are assigned to it under Chapters XII and XIII, including the approval of the trusteeship agreements for areas not designated as strategic.

+ +

Article 17

+ +
    +
  1. The General Assembly shall consider and approve the budget of the Organization.
  2. +
  3. The expenses of the Organization shall be borne by the Members as apportioned by the General Assembly.
  4. +
  5. The General Assembly shall consider and approve any financial and budgetary arrangements with specialized agencies referred to in Article 57 and shall examine the administrative budgets of such specialized agencies with a view to making recommendations to the agencies concerned.
  6. +
+ +

VOTING

+ +

Article 18

+ +
    +
  1. Each member of the General Assembly shall have one vote.
  2. +
  3. Decisions of the General Assembly on important questions shall be made by a two-thirds majority of the members present and voting. These questions shall include: recommendations with respect to the maintenance of international peace and security, the election of the non-permanent members of the Security Council, the election of the members of the Economic and Social Council, the election of members of the Trusteeship Council in accordance with paragraph 1 (c) of Article 86, the admission of new Members to the United Nations, the suspension of the rights and privileges of membership, the expulsion of Members, questions relating to the operation of the trusteeship system, and budgetary questions.
  4. +
  5. Decisions on other questions, including the determination of additional categories of questions to be decided by a two-thirds majority, shall be made by a majority of the members present and voting.
  6. +
+ +

Article 19

+ +

A Member of the United Nations which is in arrears in the payment of its financial contributions to the Organization shall have no vote in the General Assembly if the amount of its arrears equals or exceeds the amount of the contributions due from it for the preceding two full years. The General Assembly may, nevertheless, permit such a Member to vote if it is satisfied that the failure to pay is due to conditions beyond the control of the Member.

+ +

PROCEDURE

+ +

Article 20

+ +

The General Assembly shall meet in regular annual sessions and in such special sessions as occasion may require. Special sessions shall be convoked by the Secretary-General at the request of the Security Council or of a majority of the Members of the United Nations.

+ +

Article 21

+ +

The General Assembly shall adopt its own rules of procedure. It shall elect its President for each session.

+ +

Article 22

+ +

The General Assembly may establish such subsidiary organs as it deems necessary for the performance of its functions.

+ +

Chapter V: The Security Council

+ +

COMPOSITION

+ +

Article 23

+ +
    +
  1. The Security Council shall consist of fifteen Members of the United Nations. The Republic of China, France, the Union of Soviet Socialist Republics, the United Kingdom of Great Britain and Northern Ireland, and the United States of America shall be permanent members of the Security Council. The General Assembly shall elect ten other Members of the United Nations to be non-permanent members of the Security Council, due regard being specially paid, in the first instance to the contribution of Members of the United Nations to the maintenance of international peace and security and to the other purposes of the Organization, and also to equitable geographical distribution.
  2. +
  3. The non-permanent members of the Security Council shall be elected for a term of two years. In the first election of the non-permanent members after the increase of the membership of the Security Council from eleven to fifteen, two of the four additional members shall be chosen for a term of one year. A retiring member shall not be eligible for immediate re-election.
  4. +
  5. Each member of the Security Council shall have one representative.
  6. +
+ +

FUNCTIONS AND POWERS

+ +

Article 24

+ +
    +
  1. In order to ensure prompt and effective action by the United Nations, its Members confer on the Security Council primary responsibility for the maintenance of international peace and security, and agree that in carrying out its duties under this responsibility the Security Council acts on their behalf.
  2. +
  3. In discharging these duties the Security Council shall act in accordance with the Purposes and Principles of the United Nations. The specific powers granted to the Security Council for the discharge of these duties are laid down in Chapters VI, VII, VIII, and XII.
  4. +
  5. The Security Council shall submit annual and, when necessary, special reports to the General Assembly for its consideration.
  6. +
+ +

Article 25

+ +

The Members of the United Nations agree to accept and carry out the decisions of the Security Council in accordance with the present Charter.

+ +

Article 26

+ +

In order to promote the establishment and maintenance of international peace and security with the least diversion for armaments of the world's human and economic resources, the Security Council shall be responsible for formulating, with the assistance of the Military Staff Committee referred to in Article 47, plans to be submitted to the Members of the United Nations for the establishment of a system for the regulation of armaments.

+ +

VOTING

+ +

Article 27

+ +
    +
  1. Each member of the Security Council shall have one vote.
  2. +
  3. Decisions of the Security Council on procedural matters shall be made by an affirmative vote of nine members.
  4. +
  5. Decisions of the Security Council on all other matters shall be made by an affirmative vote of nine members including the concurring votes of the permanent members; provided that, in decisions under Chapter VI, and under paragraph 3 of Article 52, a party to a dispute shall abstain from voting.
  6. +
+ +

PROCEDURE

+ +

Article 28

+ +
    +
  1. The Security Council shall be so organized as to be able to function continuously. Each member of the Security Council shall for this purpose be represented at all times at the seat of the Organization.
  2. +
  3. The Security Council shall hold periodic meetings at which each of its members may, if it so desires, be represented by a member of the government or by some other specially designated representative.
  4. +
  5. The Security Council may hold meetings at such places other than the seat of the Organization as in its judgment will best facilitate its work.
  6. +
+ +

Article 29

+ +

The Security Council may establish such subsidiary organs as it deems necessary for the performance of its functions.

+ +

Article 30

+ +

The Security Council shall adopt its own rules of procedure, including the method of selecting its President.

+ +

Article 31

+ +

Any Member of the United Nations which is not a member of the Security Council may participate, without vote, in the discussion of any question brought before the Security Council whenever the latter considers that the interests of that Member are specially affected.

+ +

Article 32

+ +

Any Member of the United Nations which is not a member of the Security Council or any state which is not a Member of the United Nations, if it is a party to a dispute under consideration by the Security Council, shall be invited to participate, without vote, in the discussion relating to the dispute. The Security Council shall lay down such conditions as it deems just for the participation of a state which is not a Member of the United Nations.

+ +

Chapter VI: Pacific Settlement of Disputes

+ +

Article 33

+ +
    +
  1. The parties to any dispute, the continuance of which is likely to endanger the maintenance of international peace and security, shall, first of all, seek a solution by negotiation, enquiry, mediation, conciliation, arbitration, judicial settlement, resort to regional agencies or arrangements, or other peaceful means of their own choice.
  2. +
  3. The Security Council shall, when it deems necessary, call upon the parties to settle their dispute by such means.
  4. +
+ +

Article 34

+ +

The Security Council may investigate any dispute, or any situation which might lead to international friction or give rise to a dispute, in order to determine whether the continuance of the dispute or situation is likely to endanger the maintenance of international peace and security.

+ +

Article 35

+ +
    +
  1. Any Member of the United Nations may bring any dispute, or any situation of the nature referred to in Article 34, to the attention of the Security Council or of the General Assembly.
  2. +
  3. A state which is not a Member of the United Nations may bring to the attention of the Security Council or of the General Assembly any dispute to which it is a party if it accepts in advance, for the purposes of the dispute, the obligations of pacific settlement provided in the present Charter.
  4. +
  5. The proceedings of the General Assembly in respect of matters brought to its attention under this Article will be subject to the provisions of Articles 11 and 12.
  6. +
+ +

Article 36

+ +
    +
  1. The Security Council may, at any stage of a dispute of the nature referred to in Article 33 or of a situation of like nature, recommend appropriate procedures or methods of adjustment.
  2. +
  3. The Security Council should take into consideration any procedures for the settlement of the dispute which have already been adopted by the parties.
  4. +
  5. In making recommendations under this Article the Security Council should also take into consideration that legal disputes should as a general rule be referred by the parties to the International Court of Justice in accordance with the provisions of the Statute of the Court.
  6. +
+ +

Article 37

+ +
    +
  1. Should the parties to a dispute of the nature referred to in Article 33 fail to settle it by the means indicated in that Article, they shall refer it to the Security Council.
  2. +
  3. If the Security Council deems that the continuance of the dispute is in fact likely to endanger the maintenance of international peace and security, it shall decide whether to take action under Article 36 or to recommend such terms of settlement as it may consider appropriate.
  4. +
+ +

Article 38

+ +

Without prejudice to the provisions of Articles 33 to 37, the Security Council may, if all the parties to any dispute so request, make recommendations to the parties with a view to a pacific settlement of the dispute.

+ +

Chapter VII: Action with Respect to Threats to the Peace, Breaches of the Peace, and Acts of Aggression

+ +

Article 39

+ +

The Security Council shall determine the existence of any threat to the peace, breach of the peace, or act of aggression and shall make recommendations, or decide what measures shall be taken in accordance with Articles 41 and 42, to maintain or restore international peace and security.

+ +

Article 40

+ +

In order to prevent an aggravation of the situation, the Security Council may, before making the recommendations or deciding upon the measures provided for in Article 39, call upon the parties concerned to comply with such provisional measures as it deems necessary or desirable. Such provisional measures shall be without prejudice to the rights, claims, or position of the parties concerned. The Security Council shall duly take account of failure to comply with such provisional measures.

+ +

Article 41

+ +

The Security Council may decide what measures not involving the use of armed force are to be employed to give effect to its decisions, and it may call upon the Members of the United Nations to apply such measures. These may include complete or partial interruption of economic relations and of rail, sea, air, postal, telegraphic, radio, and other means of communication, and the severance of diplomatic relations.

+ +

Article 42

+ +

Should the Security Council consider that measures provided for in Article 41 would be inadequate or have proved to be inadequate, it may take such action by air, sea, or land forces as may be necessary to maintain or restore international peace and security. Such action may include demonstrations, blockade, and other operations by air, sea, or land forces of Members of the United Nations.

+ +

Article 43

+ +
    +
  1. All Members of the United Nations, in order to contribute to the maintenance of international peace and security, undertake to make available to the Security Council, on its call and in accordance with a special agreement or agreements, armed forces, assistance, and facilities, including rights of passage, necessary for the purpose of maintaining international peace and security.
  2. +
  3. Such agreement or agreements shall govern the numbers and types of forces, their degree of readiness and general location, and the nature of the facilities and assistance to be provided.
  4. +
  5. The agreement or agreements shall be negotiated as soon as possible on the initiative of the Security Council. They shall be concluded between the Security Council and Members or between the Security Council and groups of Members and shall be subject to ratification by the signatory states in accordance with their respective constitutional processes.
  6. +
+ +

Article 44

+ +

When the Security Council has decided to use force it shall, before calling upon a Member not represented on it to provide armed forces in fulfilment of the obligations assumed under Article 43, invite that Member, if the Member so desires, to participate in the decisions of the Security Council concerning the employment of contingents of that Member's armed forces.

+ +

Article 45

+ +

In order to enable the United Nations to take urgent military measures, Members shall hold immediately available national air-force contingents for combined international enforcement action. The strength and degree of readiness of these contingents and plans for their combined action shall be determined within the limits laid down in the special agreement or agreements referred to in Article 43, by the Security Council with the assistance of the Military Staff Committee.

+ +

Article 46

+ +

Plans for the application of armed force shall be made by the Security Council with the assistance of the Military Staff Committee.

+ +

Article 47

+ +
    +
  1. There shall be established a Military Staff Committee to advise and assist the Security Council on all questions relating to the Security Council's military requirements for the maintenance of international peace and security, the employment and command of forces placed at its disposal, the regulation of armaments, and possible disarmament.
  2. +
  3. The Military Staff Committee shall consist of the Chiefs of Staff of the permanent members of the Security Council or their representatives. Any Member of the United Nations not permanently represented on the Committee shall be invited by the Committee to be associated with it when the efficient discharge of the Committee's responsibilities requires the participation of that Member in its work.
  4. +
  5. The Military Staff Committee shall be responsible under the Security Council for the strategic direction of any armed forces placed at the disposal of the Security Council. Questions relating to the command of such forces shall be worked out subsequently.
  6. +
  7. The Military Staff Committee, with the authorization of the Security Council and after consultation with appropriate regional agencies, may establish regional sub-committees.
  8. +
+ +

Article 48

+ +
    +
  1. The action required to carry out the decisions of the Security Council for the maintenance of international peace and security shall be taken by all the Members of the United Nations or by some of them, as the Security Council may determine.
  2. +
  3. Such decisions shall be carried out by the Members of the United Nations directly and through their action in the appropriate international agencies of which they are members.
  4. +
+ +

Article 49

+ +

The Members of the United Nations shall join in affording mutual assistance in carrying out the measures decided upon by the Security Council.

+ +

Article 50

+ +

If preventive or enforcement measures against any state are taken by the Security Council, any other state, whether a Member of the United Nations or not, which finds itself confronted with special economic problems arising from the carrying out of those measures shall have the right to consult the Security Council with regard to a solution of those problems.

+ +

Article 51

+ +

Nothing in the present Charter shall impair the inherent right of individual or collective self-defence if an armed attack occurs against a Member of the United Nations, until the Security Council has taken measures necessary to maintain international peace and security. Measures taken by Members in the exercise of this right of self-defence shall be immediately reported to the Security Council and shall not in any way affect the authority and responsibility of the Security Council under the present Charter to take at any time such action as it deems necessary in order to maintain or restore international peace and security.

+ +

Chapter VIII: Regional Arrangements

+ +

Article 52

+ +
    +
  1. Nothing in the present Charter precludes the existence of regional arrangements or agencies for dealing with such matters relating to the maintenance of international peace and security as are appropriate for regional action provided that such arrangements or agencies and their activities are consistent with the Purposes and Principles of the United Nations.
  2. +
  3. The Members of the United Nations entering into such arrangements or constituting such agencies shall make every effort to achieve pacific settlement of local disputes through such regional arrangements or by such regional agencies before referring them to the Security Council.
  4. +
  5. The Security Council shall encourage the development of pacific settlement of local disputes through such regional arrangements or by such regional agencies either on the initiative of the states concerned or by reference from the Security Council.
  6. +
  7. This Article in no way impairs the application of Articles 34 and 35.
  8. +
+ +

Article 53

+ +
    +
  1. The Security Council shall, where appropriate, utilize such regional arrangements or agencies for enforcement action under its authority. But no enforcement action shall be taken under regional arrangements or by regional agencies without the authorization of the Security Council, with the exception of measures against any enemy state, as defined in paragraph 2 of this Article, provided for pursuant to Article 107 or in regional arrangements directed against renewal of aggressive policy on the part of any such state, until such time as the Organization may, on request of the Governments concerned, be charged with the responsibility for preventing further aggression by such a state.
  2. +
  3. The term enemy state as used in paragraph 1 of this Article applies to any state which during the Second World War has been an enemy of any signatory of the present Charter.
  4. +
+ +

Article 54

+ +

The Security Council shall at all times be kept fully informed of activities undertaken or in contemplation under regional arrangements or by regional agencies for the maintenance of international peace and security.

+ +

Chapter IX: International Economic and Social Cooperation

+ +

Article 55

+ +

With a view to the creation of conditions of stability and well-being which are necessary for peaceful and friendly relations among nations based on respect for the principle of equal rights and self-determination of peoples, the United Nations shall promote:

+ +
    +
  1. higher standards of living, full employment, and conditions of economic and social progress and development;
  2. +
  3. solutions of international economic, social, health, and related problems; and international cultural and educational cooperation; and
  4. +
  5. universal respect for, and observance of, human rights and fundamental freedoms for all without distinction as to race, sex, language, or religion.
  6. +
+ +

Article 56

+ +

All Members pledge themselves to take joint and separate action in co-operation with the Organization for the achievement of the purposes set forth in Article 55.

+ +

Article 57

+ +
    +
  1. The various specialized agencies, established by intergovernmental agreement and having wide international responsibilities, as defined in their basic instruments, in economic, social, cultural, educational, health, and related fields, shall be brought into relationship with the United Nations in accordance with the provisions of Article 63.
  2. +
  3. Such agencies thus brought into relationship with the United Nations are hereinafter referred to as specialized agencies.
  4. +
+ +

Article 58

+ +

The Organization shall make recommendations for the co-ordination of the policies and activities of the specialized agencies.

+ +

Article 59

+ +

The Organization shall, where appropriate, initiate negotiations among the states concerned for the creation of any new specialized agencies required for the accomplishment of the purposes set forth in Article 55.

+ +

Article 60

+ +

Responsibility for the discharge of the functions of the Organization set forth in this Chapter shall be vested in the General Assembly and, under the authority of the General Assembly, in the Economic and Social Council, which shall have for this purpose the powers set forth in Chapter X.

+ +

Chapter X: The Economic and Social Council

+ +

COMPOSITION

+ +

Article 61

+ +
    +
  1. The Economic and Social Council shall consist of fifty-four Members of the United Nations elected by the General Assembly.
  2. +
  3. Subject to the provisions of paragraph 3, eighteen members of the Economic and Social Council shall be elected each year for a term of three years. A retiring member shall be eligible for immediate re-election.
  4. +
  5. At the first election after the increase in the membership of the Economic and Social Council from twenty-seven to fifty-four members, in addition to the members elected in place of the nine members whose term of office expires at the end of that year, twenty-seven additional members shall be elected. Of these twenty-seven additional members, the term of office of nine members so elected shall expire at the end of one year, and of nine other members at the end of two years, in accordance with arrangements made by the General Assembly.
  6. +
  7. Each member of the Economic and Social Council shall have one representative.
  8. +
+ +

FUNCTIONS AND POWERS

+ +

Article 62

+ +
    +
  1. The Economic and Social Council may make or initiate studies and reports with respect to international economic, social, cultural, educational, health, and related matters and may make recommendations with respect to any such matters to the General Assembly to the Members of the United Nations, and to the specialized agencies concerned.
  2. +
  3. It may make recommendations for the purpose of promoting respect for, and observance of, human rights and fundamental freedoms for all.
  4. +
  5. It may prepare draft conventions for submission to the General Assembly, with respect to matters falling within its competence.
  6. +
  7. It may call, in accordance with the rules prescribed by the United Nations, international conferences on matters falling within its competence.
  8. +
+ +

Article 63

+ +
    +
  1. The Economic and Social Council may enter into agreements with any of the agencies referred to in Article 57, defining the terms on which the agency concerned shall be brought into relationship with the United Nations. Such agreements shall be subject to approval by the General Assembly.
  2. +
  3. It may co-ordinate the activities of the specialized agencies through consultation with and recommendations to such agencies and through recommendations to the General Assembly and to the Members of the United Nations.
  4. +
+ +

Article 64

+ +
    +
  1. The Economic and Social Council may take appropriate steps to obtain regular reports from the specialized agencies. It may make arrangements with the Members of the United Nations and with the specialized agencies to obtain reports on the steps taken to give effect to its own recommendations and to recommendations on matters falling within its competence made by the General Assembly.
  2. +
  3. It may communicate its observations on these reports to the General Assembly.
  4. +
+ +

Article 65

+ +

The Economic and Social Council may furnish information to the Security Council and shall assist the Security Council upon its request.

+ +

Article 66

+ +
    +
  1. The Economic and Social Council shall perform such functions as fall within its competence in connection with the carrying out of the recommendations of the General Assembly.
  2. +
  3. It may, with the approval of the General Assembly, perform services at the request of Members of the United Nations and at the request of specialized agencies.
  4. +
  5. It shall perform such other functions as are specified elsewhere in the present Charter or as may be assigned to it by the General Assembly.
  6. +
+ +

VOTING

+ +

Article 67

+ +
    +
  1. Each member of the Economic and Social Council shall have one vote.
  2. +
  3. Decisions of the Economic and Social Council shall be made by a majority of the members present and voting.
  4. +
+ +

PROCEDURE

+ +

Article 68

+ +

The Economic and Social Council shall set up commissions in economic and social fields and for the promotion of human rights, and such other commissions as may be required for the performance of its functions.

+ +

Article 69

+ +

The Economic and Social Council shall invite any Member of the United Nations to participate, without vote, in its deliberations on any matter of particular concern to that Member.

+ +

Article 70

+ +

The Economic and Social Council may make arrangements for representatives of the specialized agencies to participate, without vote, in its deliberations and in those of the commissions established by it, and for its representatives to participate in the deliberations of the specialized agencies.

+ +

Article 71

+ +

The Economic and Social Council may make suitable arrangements for consultation with non-governmental organizations which are concerned with matters within its competence. Such arrangements may be made with international organizations and, where appropriate, with national organizations after consultation with the Member of the United Nations concerned.

+ +

Article 72

+ +
    +
  1. The Economic and Social Council shall adopt its own rules of procedure, including the method of selecting its President.
  2. +
  3. The Economic and Social Council shall meet as required in accordance with its rules, which shall include provision for the convening of meetings on the request of a majority of its members.
  4. +
+ +

Chapter XI: Declaration Regarding Non-Self-Governing Territories

+ +

Article 73

+ +

Members of the United Nations which have or assume responsibilities for the administration of territories whose peoples have not yet attained a full measure of self-government recognize the principle that the interests of the inhabitants of these territories are paramount, and accept as a sacred trust the obligation to promote to the utmost, within the system of international peace and security established by the present Charter, the well-being of the inhabitants of these territories, and, to this end:

+ +
    +
  1. to ensure, with due respect for the culture of the peoples concerned, their political, economic, social, and educational advancement, their just treatment, and their protection against abuses;
  2. +
  3. to develop self-government, to take due account of the political aspirations of the peoples, and to assist them in the progressive development of their free political institutions, according to the particular circumstances of each territory and its peoples and their varying stages of advancement;
  4. +
  5. to further international peace and security;
  6. +
  7. to promote constructive measures of development, to encourage research, and to co-operate with one another and, when and where appropriate, with specialized international bodies with a view to the practical achievement of the social, economic, and scientific purposes set forth in this Article; and
  8. +
  9. to transmit regularly to the Secretary-General for information purposes, subject to such limitation as security and constitutional considerations may require, statistical and other information of a technical nature relating to economic, social, and educational conditions in the territories for which they are respectively responsible other than those territories to which Chapters XII and XIII apply.
  10. +
+ +

Article 74

+ +

Members of the United Nations also agree that their policy in respect of the territories to which this Chapter applies, no less than in respect of their metropolitan areas, must be based on the general principle of good-neighbourliness, due account being taken of the interests and well-being of the rest of the world, in social, economic, and commercial matters.

+ +

Chapter XII: International Trusteeship System

+ +

Article 75

+ +

The United Nations shall establish under its authority an international trusteeship system for the administration and supervision of such territories as may be placed thereunder by subsequent individual agreements. These territories are hereinafter referred to as trust territories.

+ +

Article 76

+ +

The basic objectives of the trusteeship system, in accordance with the Purposes of the United Nations laid down in Article 1 of the present Charter, shall be:

+ +
    +
  1. to further international peace and security;
  2. +
  3. to promote the political, economic, social, and educational advancement of the inhabitants of the trust territories, and their progressive development towards self-government or independence as may be appropriate to the particular circumstances of each territory and its peoples and the freely expressed wishes of the peoples concerned, and as may be provided by the terms of each trusteeship agreement;
  4. +
  5. to encourage respect for human rights and for fundamental freedoms for all without distinction as to race, sex, language, or religion, and to encourage recognition of the interdependence of the peoples of the world; and
  6. +
  7. to ensure equal treatment in social, economic, and commercial matters for all Members of the United Nations and their nationals, and also equal treatment for the latter in the administration of justice, without prejudice to the attainment of the foregoing objectives and subject to the provisions of Article 80.
  8. +
+ +

Article 77

+ +
    +
  1. The trusteeship system shall apply to such territories in the following categories as may be placed thereunder by means of trusteeship agreements: +
      +
    1. territories now held under mandate;
    2. +
    3. territories which may be detached from enemy states as a result of the Second World War; and
    4. +
    5. territories voluntarily placed under the system by states responsible for their administration.
    6. +
    +
  2. +
  3. It will be a matter for subsequent agreement as to which territories in the foregoing categories will be brought under the trusteeship system and upon what terms.
  4. +
+ +

Article 78

+ +

The trusteeship system shall not apply to territories which have become Members of the United Nations, relationship among which shall be based on respect for the principle of sovereign equality.

+ +

Article 79

+ +

The terms of trusteeship for each territory to be placed under the trusteeship system, including any alteration or amendment, shall be agreed upon by the states directly concerned, including the mandatory power in the case of territories held under mandate by a Member of the United Nations, and shall be approved as provided for in Articles 83 and 85.

+ +

Article 80

+ +
    +
  1. Except as may be agreed upon in individual trusteeship agreements, made under Articles 77, 79, and 81, placing each territory under the trusteeship system, and until such agreements have been concluded, nothing in this Chapter shall be construed in or of itself to alter in any manner the rights whatsoever of any states or any peoples or the terms of existing international instruments to which Members of the United Nations may respectively be parties.
  2. +
  3. Paragraph 1 of this Article shall not be interpreted as giving grounds for delay or postponement of the negotiation and conclusion of agreements for placing mandated and other territories under the trusteeship system as provided for in Article 77.
  4. +
+ +

Article 81

+ +

The trusteeship agreement shall in each case include the terms under which the trust territory will be administered and designate the authority which will exercise the administration of the trust territory. Such authority, hereinafter called the administering authority, may be one or more states or the Organization itself.

+ +

Article 82

+ +

There may be designated, in any trusteeship agreement, a strategic area or areas which may include part or all of the trust territory to which the agreement applies, without prejudice to any special agreement or agreements made under Article 43.

+ +

Article 83

+ +
    +
  1. All functions of the United Nations relating to strategic areas, including the approval of the terms of the trusteeship agreements and of their alteration or amendment shall be exercised by the Security Council.
  2. +
  3. The basic objectives set forth in Article 76 shall be applicable to the people of each strategic area.
  4. +
  5. The Security Council shall, subject to the provisions of the trusteeship agreements and without prejudice to security considerations, avail itself of the assistance of the Trusteeship Council to perform those functions of the United Nations under the trusteeship system relating to political, economic, social, and educational matters in the strategic areas.
  6. +
+ +

Article 84

+ +

It shall be the duty of the administering authority to ensure that the trust territory shall play its part in the maintenance of international peace and security. To this end the administering authority may make use of volunteer forces, facilities, and assistance from the trust territory in carrying out the obligations towards the Security Council undertaken in this regard by the administering authority, as well as for local defence and the maintenance of law and order within the trust territory.

+ +

Article 85

+ +
    +
  1. The functions of the United Nations with regard to trusteeship agreements for all areas not designated as strategic, including the approval of the terms of the trusteeship agreements and of their alteration or amendment, shall be exercised by the General Assembly.
  2. +
  3. The Trusteeship Council, operating under the authority of the General Assembly shall assist the General Assembly in carrying out these functions.
  4. +
+ +

Chapter XIII: The Trusteeship Council

+ +

COMPOSITION

+ +

Article 86

+ +
    +
  1. The Trusteeship Council shall consist of the following Members of the United Nations: +
      +
    1. those Members administering trust territories;
    2. +
    3. such of those Members mentioned by name in Article 23 as are not administering trust territories; and
    4. +
    5. as many other Members elected for three-year terms by the General Assembly as may be necessary to ensure that the total number of members of the Trusteeship Council is equally divided between those Members of the United Nations which administer trust territories and those which do not.
    6. +
    +
  2. +
  3. Each member of the Trusteeship Council shall designate one specially qualified person to represent it therein.
  4. +
+ +

FUNCTIONS AND POWERS

+ +

Article 87

+ +

The General Assembly and, under its authority, the Trusteeship Council, in carrying out their functions, may:

+ +
    +
  1. consider reports submitted by the administering authority;
  2. +
  3. accept petitions and examine them in consultation with the administering authority;
  4. +
  5. provide for periodic visits to the respective trust territories at times agreed upon with the administering authority; and
  6. +
  7. take these and other actions in conformity with the terms of the trusteeship agreements.
  8. +
+ +

Article 88

+ +

The Trusteeship Council shall formulate a questionnaire on the political, economic, social, and educational advancement of the inhabitants of each trust territory, and the administering authority for each trust territory within the competence of the General Assembly shall make an annual report to the General Assembly upon the basis of such questionnaire.

+ +

VOTING

+ +

Article 89

+ +
    +
  1. Each member of the Trusteeship Council shall have one vote.
  2. +
  3. Decisions of the Trusteeship Council shall be made by a majority of the members present and voting.
  4. +
+ +

PROCEDURE

+ +

Article 90

+ +
    +
  1. The Trusteeship Council shall adopt its own rules of procedure, including the method of selecting its President.
  2. +
  3. The Trusteeship Council shall meet as required in accordance with its rules, which shall include provision for the convening of meetings on the request of a majority of its members.
  4. +
+ +

Article 91

+ +

The Trusteeship Council shall, when appropriate, avail itself of the assistance of the Economic and Social Council and of the specialized agencies in regard to matters with which they are respectively concerned.

+ +

Chapter XIV: The International Court of Justice

+ +

Article 92

+ +

The International Court of Justice shall be the principal judicial organ of the United Nations. It shall function in accordance with the annexed Statute, which is based upon the Statute of the Permanent Court of International Justice and forms an integral part of the present Charter.

+ +

Article 93

+ +
    +
  1. All Members of the United Nations are ipso facto parties to the Statute of the International Court of Justice.
  2. +
  3. A state which is not a Member of the United Nations may become a party to the Statute of the International Court of Justice on conditions to be determined in each case by the General Assembly upon the recommendation of the Security Council.
  4. +
+ +

Article 94

+ +
    +
  1. Each Member of the United Nations undertakes to comply with the decision of the International Court of Justice in any case to which it is a party.
  2. +
  3. If any party to a case fails to perform the obligations incumbent upon it under a judgment rendered by the Court, the other party may have recourse to the Security Council, which may, if it deems necessary, make recommendations or decide upon measures to be taken to give effect to the judgment.
  4. +
+ +

Article 95

+ +

Nothing in the present Charter shall prevent Members of the United Nations from entrusting the solution of their differences to other tribunals by virtue of agreements already in existence or which may be concluded in the future.

+ +

Article 96

+ +
    +
  1. The General Assembly or the Security Council may request the International Court of Justice to give an advisory opinion on any legal question.
  2. +
  3. Other organs of the United Nations and specialized agencies, which may at any time be so authorized by the General Assembly, may also request advisory opinions of the Court on legal questions arising within the scope of their activities.
  4. +
+ +

Chapter XV: The Secretariat

+ +

Article 97

+ +

The Secretariat shall comprise a Secretary-General and such staff as the Organization may require. The Secretary-General shall be appointed by the General Assembly upon the recommendation of the Security Council. He shall be the chief administrative officer of the Organization.

+ +

Article 98

+ +

The Secretary-General shall act in that capacity in all meetings of the General Assembly, of the Security Council, of the Economic and Social Council, and of the Trusteeship Council, and shall perform such other functions as are entrusted to him by these organs. The Secretary-General shall make an annual report to the General Assembly on the work of the Organization.

+ +

Article 99

+ +

The Secretary-General may bring to the attention of the Security Council any matter which in his opinion may threaten the maintenance of international peace and security.

+ +

Article 100

+ +
    +
  1. In the performance of their duties the Secretary-General and the staff shall not seek or receive instructions from any government or from any other authority external to the Organization. They shall refrain from any action which might reflect on their position as international officials responsible only to the Organization.
  2. +
  3. Each Member of the United Nations undertakes to respect the exclusively international character of the responsibilities of the Secretary-General and the staff and not to seek to influence them in the discharge of their responsibilities.
  4. +
+ +

Article 101

+ +
    +
  1. The staff shall be appointed by the Secretary-General under regulations established by the General Assembly.
  2. +
  3. Appropriate staffs shall be permanently assigned to the Economic and Social Council, the Trusteeship Council, and, as required, to other organs of the United Nations. These staffs shall form a part of the Secretariat.
  4. +
  5. The paramount consideration in the employment of the staff and in the determination of the conditions of service shall be the necessity of securing the highest standards of efficiency, competence, and integrity. Due regard shall be paid to the importance of recruiting the staff on as wide a geographical basis as possible.
  6. +
+ +

Chapter XVI: Miscellaneous Provisions

+ +

Article 102

+ +
    +
  1. Every treaty and every international agreement entered into by any Member of the United Nations after the present Charter comes into force shall as soon as possible be registered with the Secretariat and published by it.
  2. +
  3. No party to any such treaty or international agreement which has not been registered in accordance with the provisions of paragraph 1 of this Article may invoke that treaty or agreement before any organ of the United Nations.
  4. +
+ +

Article 103

+ +

In the event of a conflict between the obligations of the Members of the United Nations under the present Charter and their obligations under any other international agreement, their obligations under the present Charter shall prevail.

+ +

Article 104

+ +

The Organization shall enjoy in the territory of each of its Members such legal capacity as may be necessary for the exercise of its functions and the fulfilment of its purposes.

+ +

Article 105

+ +
    +
  1. The Organization shall enjoy in the territory of each of its Members such privileges and immunities as are necessary for the fulfilment of its purposes.
  2. +
  3. Representatives of the Members of the United Nations and officials of the Organization shall similarly enjoy such privileges and immunities as are necessary for the independent exercise of their functions in connection with the Organization.
  4. +
  5. The General Assembly may make recommendations with a view to determining the details of the application of paragraphs 1 and 2 of this Article or may propose conventions to the Members of the United Nations for this purpose.
  6. +
+ +

Chapter XVII: Transitional Security Arrangements

+ +

Article 106

+ +

Pending the coming into force of such special agreements referred to in Article 43 as in the opinion of the Security Council enable it to begin the exercise of its responsibilities under Article 42, the parties to the Four-Nation Declaration, signed at Moscow, 30 October 1943, and France, shall, in accordance with the provisions of paragraph 5 of that Declaration, consult with one another and as occasion requires with other Members of the United Nations with a view to such joint action on behalf of the Organization as may be necessary for the purpose of maintaining international peace and security.

+ +

Article 107

+ +

Nothing in the present Charter shall invalidate or preclude action, in relation to any state which during the Second World War has been an enemy of any signatory to the present Charter, taken or authorized as a result of that war by the Governments having responsibility for such action.

+ +

Chapter XVIII: Amendments

+ +

Article 108

+ +

Amendments to the present Charter shall come into force for all Members of the United Nations when they have been adopted by a vote of two thirds of the members of the General Assembly and ratified in accordance with their respective constitutional processes by two thirds of the Members of the United Nations, including all the permanent members of the Security Council.

+ +

Article 109

+ +
    +
  1. A General Conference of the Members of the United Nations for the purpose of reviewing the present Charter may be held at a date and place to be fixed by a two-thirds vote of the members of the General Assembly and by a vote of any nine members of the Security Council. Each Member of the United Nations shall have one vote in the conference.
  2. +
  3. Any alteration of the present Charter recommended by a two-thirds vote of the conference shall take effect when ratified in accordance with their respective constitutional processes by two thirds of the Members of the United Nations including all the permanent members of the Security Council.
  4. +
  5. If such a conference has not been held before the tenth annual session of the General Assembly following the coming into force of the present Charter, the proposal to call such a conference shall be placed on the agenda of that session of the General Assembly, and the conference shall be held if so decided by a majority vote of the members of the General Assembly and by a vote of any seven members of the Security Council.
  6. +
+ +

Chapter XIX: Ratification and Signature

+ +

Article 110

+ +
    +
  1. The present Charter shall be ratified by the signatory states in accordance with their respective constitutional processes.
  2. +
  3. The ratifications shall be deposited with the Government of the United States of America, which shall notify all the signatory states of each deposit as well as the Secretary-General of the Organization when he has been appointed.
  4. +
  5. The present Charter shall come into force upon the deposit of ratifications by the Republic of China, France, the Union of Soviet Socialist Republics, the United Kingdom of Great Britain and Northern Ireland, and the United States of America, and by a majority of the other signatory states. A protocol of the ratifications deposited shall thereupon be drawn up by the Government of the United States of America which shall communicate copies thereof to all the signatory states.
  6. +
  7. The states signatory to the present Charter which ratify it after it has come into force will become original Members of the United Nations on the date of the deposit of their respective ratifications.
  8. +
+ +

Article 111

+ +

The present Charter, of which the Chinese, French, Russian, English, and Spanish texts are equally authentic, shall remain deposited in the archives of the Government of the United States of America. Duly certified copies thereof shall be transmitted by that Government to the Governments of the other signatory states.

+ +

In Faith Whereof the representatives of the Governments of the United Nations have signed the present Charter. DONE at the city of San Francisco the twenty-sixth day of June, one thousand nine hundred and forty-five.

+ +


+ Note on Amendments to Articles 23, 27, 61, 109

+ +

Amendments to Articles 23, 27 and 61 of the Charter were adopted by the General Assembly on 17 December 1963 and came into force on 31 August 1965. A further amendment to Article 61 was adopted by the General Assembly on 20 December 1971, and came into force on 24 September 1973. An amendment to Article 109, adopted by the General Assembly on 20 December 1965, came into force on 12 June 1968.

+ +

The amendment to Article 23 enlarges the membership of the Security Council from eleven to fifteen. The amended Article 27 provides that decisions of the Security Council on procedural matters shall be made by an affirmative vote of nine members (formerly seven) and on all other matters by an affirmative vote of nine members (formerly seven), including the concurring votes of the five permanent members of the Security Council.

+ +

The amendment to Article 61, which entered into force on 31 August 1965, enlarged the membership of the Economic and Social Council from eighteen to twenty-seven. The subsequent amendment to that Article, which entered into force on 24 September 1973, further increased the membership of the Council from twenty-seven to fifty-four.

+ +

The amendment to Article 109, which relates to the first paragraph of that Article, provides that a General Conference of Member States for the purpose of reviewing the Charter may be held at a date and place to be fixed by a two-thirds vote of the members of the General Assembly and by a vote of any nine members (formerly seven) of the Security Council. Paragraph 3 of Article 109, which deals with the consideration of a possible review conference during the tenth regular session of the General Assembly, has been retained in its original form in its reference to a "vote, of any seven members of the Security Council", the paragraph having been acted upon in 1955 by the General Assembly, at its tenth regular session, and by the Security Council.

+
+
+
+ + + +
+ +
+
+ +
+
+
+ + +
+
+ + + +
+
+ + +
+ + + + + + + + + + + +
+ + + + + + + + + +
\ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_EN.txt b/stdlib/benchmarks/collections/data/UN_charter_EN.txt new file mode 100644 index 0000000000..db3e0f7cc1 --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_EN.txt @@ -0,0 +1,463 @@ +United Nations Charter (full text) +Preamble +WE THE PEOPLES OF THE UNITED NATIONS DETERMINED +to save succeeding generations from the scourge of war, which twice in our lifetime has brought untold sorrow to mankind, and + +to reaffirm faith in fundamental human rights, in the dignity and worth of the human person, in the equal rights of men and women and of nations large and small, and + +to establish conditions under which justice and respect for the obligations arising from treaties and other sources of international law can be maintained, and + +to promote social progress and better standards of life in larger freedom, + +AND FOR THESE ENDS +to practice tolerance and live together in peace with one another as good neighbours, and + +to unite our strength to maintain international peace and security, and + +to ensure, by the acceptance of principles and the institution of methods, that armed force shall not be used, save in the common interest, and + +to employ international machinery for the promotion of the economic and social advancement of all peoples, + +HAVE RESOLVED TO COMBINE OUR EFFORTS TO ACCOMPLISH THESE AIMS. +Accordingly, our respective Governments, through representatives assembled in the city of San Francisco, who have exhibited their full powers found to be in good and due form, have agreed to the present Charter of the United Nations and do hereby establish an international organization to be known as the United Nations. + +Chapter I: Purposes and Principles +Article 1 +The Purposes of the United Nations are: + +To maintain international peace and security, and to that end: to take effective collective measures for the prevention and removal of threats to the peace, and for the suppression of acts of aggression or other breaches of the peace, and to bring about by peaceful means, and in conformity with the principles of justice and international law, adjustment or settlement of international disputes or situations which might lead to a breach of the peace; +To develop friendly relations among nations based on respect for the principle of equal rights and self-determination of peoples, and to take other appropriate measures to strengthen universal peace; +To achieve international co-operation in solving international problems of an economic, social, cultural, or humanitarian character, and in promoting and encouraging respect for human rights and for fundamental freedoms for all without distinction as to race, sex, language, or religion; and +To be a centre for harmonizing the actions of nations in the attainment of these common ends. +Article 2 +The Organization and its Members, in pursuit of the Purposes stated in Article 1, shall act in accordance with the following Principles. + +The Organization is based on the principle of the sovereign equality of all its Members. +All Members, in order to ensure to all of them the rights and benefits resulting from membership, shall fulfill in good faith the obligations assumed by them in accordance with the present Charter. +All Members shall settle their international disputes by peaceful means in such a manner that international peace and security, and justice, are not endangered. +All Members shall refrain in their international relations from the threat or use of force against the territorial integrity or political independence of any state, or in any other manner inconsistent with the Purposes of the United Nations. +All Members shall give the United Nations every assistance in any action it takes in accordance with the present Charter, and shall refrain from giving assistance to any state against which the United Nations is taking preventive or enforcement action. +The Organization shall ensure that states which are not Members of the United Nations act in accordance with these Principles so far as may be necessary for the maintenance of international peace and security. +Nothing contained in the present Charter shall authorize the United Nations to intervene in matters which are essentially within the domestic jurisdiction of any state or shall require the Members to submit such matters to settlement under the present Charter; but this principle shall not prejudice the application of enforcement measures under Chapter Vll. +Chapter II: Membership +Article 3 +The original Members of the United Nations shall be the states which, having participated in the United Nations Conference on International Organization at San Francisco, or having previously signed the Declaration by United Nations of 1 January 1942, sign the present Charter and ratify it in accordance with Article 110. + +Article 4 +Membership in the United Nations is open to all other peace-loving states which accept the obligations contained in the present Charter and, in the judgment of the Organization, are able and willing to carry out these obligations. +The admission of any such state to membership in the United Nations will be effected by a decision of the General Assembly upon the recommendation of the Security Council. +Article 5 +A Member of the United Nations against which preventive or enforcement action has been taken by the Security Council may be suspended from the exercise of the rights and privileges of membership by the General Assembly upon the recommendation of the Security Council. The exercise of these rights and privileges may be restored by the Security Council. + +Article 6 +A Member of the United Nations which has persistently violated the Principles contained in the present Charter may be expelled from the Organization by the General Assembly upon the recommendation of the Security Council. + +Chapter III: Organs +Article 7 +There are established as principal organs of the United Nations: a General Assembly, a Security Council, an Economic and Social Council, a Trusteeship Council, an International Court of Justice and a Secretariat. +Such subsidiary organs as may be found necessary may be established in accordance with the present Charter. +Article 8 +The United Nations shall place no restrictions on the eligibility of men and women to participate in any capacity and under conditions of equality in its principal and subsidiary organs. + +Chapter IV: The General Assembly +COMPOSITION +Article 9 +The General Assembly shall consist of all the Members of the United Nations. +Each Member shall have not more than five representatives in the General Assembly. +FUNCTIONS AND POWERS +Article 10 +The General Assembly may discuss any questions or any matters within the scope of the present Charter or relating to the powers and functions of any organs provided for in the present Charter, and, except as provided in Article 12, may make recommendations to the Members of the United Nations or to the Security Council or to both on any such questions or matters. + +Article 11 +The General Assembly may consider the general principles of co-operation in the maintenance of international peace and security, including the principles governing disarmament and the regulation of armaments, and may make recommendations with regard to such principles to the Members or to the Security Council or to both. +The General Assembly may discuss any questions relating to the maintenance of international peace and security brought before it by any Member of the United Nations, or by the Security Council, or by a state which is not a Member of the United Nations in accordance with Article 35, paragraph 2, and, except as provided in Article 12, may make recommendations with regard to any such questions to the state or states concerned or to the Security Council or to both. Any such question on which action is necessary shall be referred to the Security Council by the General Assembly either before or after discussion. +The General Assembly may call the attention of the Security Council to situations which are likely to endanger international peace and security. +The powers of the General Assembly set forth in this Article shall not limit the general scope of Article 10. +Article 12 +While the Security Council is exercising in respect of any dispute or situation the functions assigned to it in the present Charter, the General Assembly shall not make any recommendation with regard to that dispute or situation unless the Security Council so requests. +The Secretary-General, with the consent of the Security Council, shall notify the General Assembly at each session of any matters relative to the maintenance of international peace and security which are being dealt with by the Security Council and shall similarly notify the General Assembly, or the Members of the United Nations if the General Assembly is not in session, immediately the Security Council ceases to deal with such matters. +Article 13 +The General Assembly shall initiate studies and make recommendations for the purpose of: +promoting international co-operation in the political field and encouraging the progressive development of international law and its codification; +promoting international co-operation in the economic, social, cultural, educational, and health fields, and assisting in the realization of human rights and fundamental freedoms for all without distinction as to race, sex, language, or religion. +The further responsibilities, functions and powers of the General Assembly with respect to matters mentioned in paragraph 1 (b) above are set forth in Chapters IX and X. +Article 14 +Subject to the provisions of Article 12, the General Assembly may recommend measures for the peaceful adjustment of any situation, regardless of origin, which it deems likely to impair the general welfare or friendly relations among nations, including situations resulting from a violation of the provisions of the present Charter setting forth the Purposes and Principles of the United Nations. + +Article 15 +The General Assembly shall receive and consider annual and special reports from the Security Council; these reports shall include an account of the measures that the Security Council has decided upon or taken to maintain international peace and security. +The General Assembly shall receive and consider reports from the other organs of the United Nations. +Article 16 +The General Assembly shall perform such functions with respect to the international trusteeship system as are assigned to it under Chapters XII and XIII, including the approval of the trusteeship agreements for areas not designated as strategic. + +Article 17 +The General Assembly shall consider and approve the budget of the Organization. +The expenses of the Organization shall be borne by the Members as apportioned by the General Assembly. +The General Assembly shall consider and approve any financial and budgetary arrangements with specialized agencies referred to in Article 57 and shall examine the administrative budgets of such specialized agencies with a view to making recommendations to the agencies concerned. +VOTING +Article 18 +Each member of the General Assembly shall have one vote. +Decisions of the General Assembly on important questions shall be made by a two-thirds majority of the members present and voting. These questions shall include: recommendations with respect to the maintenance of international peace and security, the election of the non-permanent members of the Security Council, the election of the members of the Economic and Social Council, the election of members of the Trusteeship Council in accordance with paragraph 1 (c) of Article 86, the admission of new Members to the United Nations, the suspension of the rights and privileges of membership, the expulsion of Members, questions relating to the operation of the trusteeship system, and budgetary questions. +Decisions on other questions, including the determination of additional categories of questions to be decided by a two-thirds majority, shall be made by a majority of the members present and voting. +Article 19 +A Member of the United Nations which is in arrears in the payment of its financial contributions to the Organization shall have no vote in the General Assembly if the amount of its arrears equals or exceeds the amount of the contributions due from it for the preceding two full years. The General Assembly may, nevertheless, permit such a Member to vote if it is satisfied that the failure to pay is due to conditions beyond the control of the Member. + +PROCEDURE +Article 20 +The General Assembly shall meet in regular annual sessions and in such special sessions as occasion may require. Special sessions shall be convoked by the Secretary-General at the request of the Security Council or of a majority of the Members of the United Nations. + +Article 21 +The General Assembly shall adopt its own rules of procedure. It shall elect its President for each session. + +Article 22 +The General Assembly may establish such subsidiary organs as it deems necessary for the performance of its functions. + +Chapter V: The Security Council +COMPOSITION +Article 23 +The Security Council shall consist of fifteen Members of the United Nations. The Republic of China, France, the Union of Soviet Socialist Republics, the United Kingdom of Great Britain and Northern Ireland, and the United States of America shall be permanent members of the Security Council. The General Assembly shall elect ten other Members of the United Nations to be non-permanent members of the Security Council, due regard being specially paid, in the first instance to the contribution of Members of the United Nations to the maintenance of international peace and security and to the other purposes of the Organization, and also to equitable geographical distribution. +The non-permanent members of the Security Council shall be elected for a term of two years. In the first election of the non-permanent members after the increase of the membership of the Security Council from eleven to fifteen, two of the four additional members shall be chosen for a term of one year. A retiring member shall not be eligible for immediate re-election. +Each member of the Security Council shall have one representative. +FUNCTIONS AND POWERS +Article 24 +In order to ensure prompt and effective action by the United Nations, its Members confer on the Security Council primary responsibility for the maintenance of international peace and security, and agree that in carrying out its duties under this responsibility the Security Council acts on their behalf. +In discharging these duties the Security Council shall act in accordance with the Purposes and Principles of the United Nations. The specific powers granted to the Security Council for the discharge of these duties are laid down in Chapters VI, VII, VIII, and XII. +The Security Council shall submit annual and, when necessary, special reports to the General Assembly for its consideration. +Article 25 +The Members of the United Nations agree to accept and carry out the decisions of the Security Council in accordance with the present Charter. + +Article 26 +In order to promote the establishment and maintenance of international peace and security with the least diversion for armaments of the world's human and economic resources, the Security Council shall be responsible for formulating, with the assistance of the Military Staff Committee referred to in Article 47, plans to be submitted to the Members of the United Nations for the establishment of a system for the regulation of armaments. + +VOTING +Article 27 +Each member of the Security Council shall have one vote. +Decisions of the Security Council on procedural matters shall be made by an affirmative vote of nine members. +Decisions of the Security Council on all other matters shall be made by an affirmative vote of nine members including the concurring votes of the permanent members; provided that, in decisions under Chapter VI, and under paragraph 3 of Article 52, a party to a dispute shall abstain from voting. +PROCEDURE +Article 28 +The Security Council shall be so organized as to be able to function continuously. Each member of the Security Council shall for this purpose be represented at all times at the seat of the Organization. +The Security Council shall hold periodic meetings at which each of its members may, if it so desires, be represented by a member of the government or by some other specially designated representative. +The Security Council may hold meetings at such places other than the seat of the Organization as in its judgment will best facilitate its work. +Article 29 +The Security Council may establish such subsidiary organs as it deems necessary for the performance of its functions. + +Article 30 +The Security Council shall adopt its own rules of procedure, including the method of selecting its President. + +Article 31 +Any Member of the United Nations which is not a member of the Security Council may participate, without vote, in the discussion of any question brought before the Security Council whenever the latter considers that the interests of that Member are specially affected. + +Article 32 +Any Member of the United Nations which is not a member of the Security Council or any state which is not a Member of the United Nations, if it is a party to a dispute under consideration by the Security Council, shall be invited to participate, without vote, in the discussion relating to the dispute. The Security Council shall lay down such conditions as it deems just for the participation of a state which is not a Member of the United Nations. + +Chapter VI: Pacific Settlement of Disputes +Article 33 +The parties to any dispute, the continuance of which is likely to endanger the maintenance of international peace and security, shall, first of all, seek a solution by negotiation, enquiry, mediation, conciliation, arbitration, judicial settlement, resort to regional agencies or arrangements, or other peaceful means of their own choice. +The Security Council shall, when it deems necessary, call upon the parties to settle their dispute by such means. +Article 34 +The Security Council may investigate any dispute, or any situation which might lead to international friction or give rise to a dispute, in order to determine whether the continuance of the dispute or situation is likely to endanger the maintenance of international peace and security. + +Article 35 +Any Member of the United Nations may bring any dispute, or any situation of the nature referred to in Article 34, to the attention of the Security Council or of the General Assembly. +A state which is not a Member of the United Nations may bring to the attention of the Security Council or of the General Assembly any dispute to which it is a party if it accepts in advance, for the purposes of the dispute, the obligations of pacific settlement provided in the present Charter. +The proceedings of the General Assembly in respect of matters brought to its attention under this Article will be subject to the provisions of Articles 11 and 12. +Article 36 +The Security Council may, at any stage of a dispute of the nature referred to in Article 33 or of a situation of like nature, recommend appropriate procedures or methods of adjustment. +The Security Council should take into consideration any procedures for the settlement of the dispute which have already been adopted by the parties. +In making recommendations under this Article the Security Council should also take into consideration that legal disputes should as a general rule be referred by the parties to the International Court of Justice in accordance with the provisions of the Statute of the Court. +Article 37 +Should the parties to a dispute of the nature referred to in Article 33 fail to settle it by the means indicated in that Article, they shall refer it to the Security Council. +If the Security Council deems that the continuance of the dispute is in fact likely to endanger the maintenance of international peace and security, it shall decide whether to take action under Article 36 or to recommend such terms of settlement as it may consider appropriate. +Article 38 +Without prejudice to the provisions of Articles 33 to 37, the Security Council may, if all the parties to any dispute so request, make recommendations to the parties with a view to a pacific settlement of the dispute. + +Chapter VII: Action with Respect to Threats to the Peace, Breaches of the Peace, and Acts of Aggression +Article 39 +The Security Council shall determine the existence of any threat to the peace, breach of the peace, or act of aggression and shall make recommendations, or decide what measures shall be taken in accordance with Articles 41 and 42, to maintain or restore international peace and security. + +Article 40 +In order to prevent an aggravation of the situation, the Security Council may, before making the recommendations or deciding upon the measures provided for in Article 39, call upon the parties concerned to comply with such provisional measures as it deems necessary or desirable. Such provisional measures shall be without prejudice to the rights, claims, or position of the parties concerned. The Security Council shall duly take account of failure to comply with such provisional measures. + +Article 41 +The Security Council may decide what measures not involving the use of armed force are to be employed to give effect to its decisions, and it may call upon the Members of the United Nations to apply such measures. These may include complete or partial interruption of economic relations and of rail, sea, air, postal, telegraphic, radio, and other means of communication, and the severance of diplomatic relations. + +Article 42 +Should the Security Council consider that measures provided for in Article 41 would be inadequate or have proved to be inadequate, it may take such action by air, sea, or land forces as may be necessary to maintain or restore international peace and security. Such action may include demonstrations, blockade, and other operations by air, sea, or land forces of Members of the United Nations. + +Article 43 +All Members of the United Nations, in order to contribute to the maintenance of international peace and security, undertake to make available to the Security Council, on its call and in accordance with a special agreement or agreements, armed forces, assistance, and facilities, including rights of passage, necessary for the purpose of maintaining international peace and security. +Such agreement or agreements shall govern the numbers and types of forces, their degree of readiness and general location, and the nature of the facilities and assistance to be provided. +The agreement or agreements shall be negotiated as soon as possible on the initiative of the Security Council. They shall be concluded between the Security Council and Members or between the Security Council and groups of Members and shall be subject to ratification by the signatory states in accordance with their respective constitutional processes. +Article 44 +When the Security Council has decided to use force it shall, before calling upon a Member not represented on it to provide armed forces in fulfilment of the obligations assumed under Article 43, invite that Member, if the Member so desires, to participate in the decisions of the Security Council concerning the employment of contingents of that Member's armed forces. + +Article 45 +In order to enable the United Nations to take urgent military measures, Members shall hold immediately available national air-force contingents for combined international enforcement action. The strength and degree of readiness of these contingents and plans for their combined action shall be determined within the limits laid down in the special agreement or agreements referred to in Article 43, by the Security Council with the assistance of the Military Staff Committee. + +Article 46 +Plans for the application of armed force shall be made by the Security Council with the assistance of the Military Staff Committee. + +Article 47 +There shall be established a Military Staff Committee to advise and assist the Security Council on all questions relating to the Security Council's military requirements for the maintenance of international peace and security, the employment and command of forces placed at its disposal, the regulation of armaments, and possible disarmament. +The Military Staff Committee shall consist of the Chiefs of Staff of the permanent members of the Security Council or their representatives. Any Member of the United Nations not permanently represented on the Committee shall be invited by the Committee to be associated with it when the efficient discharge of the Committee's responsibilities requires the participation of that Member in its work. +The Military Staff Committee shall be responsible under the Security Council for the strategic direction of any armed forces placed at the disposal of the Security Council. Questions relating to the command of such forces shall be worked out subsequently. +The Military Staff Committee, with the authorization of the Security Council and after consultation with appropriate regional agencies, may establish regional sub-committees. +Article 48 +The action required to carry out the decisions of the Security Council for the maintenance of international peace and security shall be taken by all the Members of the United Nations or by some of them, as the Security Council may determine. +Such decisions shall be carried out by the Members of the United Nations directly and through their action in the appropriate international agencies of which they are members. +Article 49 +The Members of the United Nations shall join in affording mutual assistance in carrying out the measures decided upon by the Security Council. + +Article 50 +If preventive or enforcement measures against any state are taken by the Security Council, any other state, whether a Member of the United Nations or not, which finds itself confronted with special economic problems arising from the carrying out of those measures shall have the right to consult the Security Council with regard to a solution of those problems. + +Article 51 +Nothing in the present Charter shall impair the inherent right of individual or collective self-defence if an armed attack occurs against a Member of the United Nations, until the Security Council has taken measures necessary to maintain international peace and security. Measures taken by Members in the exercise of this right of self-defence shall be immediately reported to the Security Council and shall not in any way affect the authority and responsibility of the Security Council under the present Charter to take at any time such action as it deems necessary in order to maintain or restore international peace and security. + +Chapter VIII: Regional Arrangements +Article 52 +Nothing in the present Charter precludes the existence of regional arrangements or agencies for dealing with such matters relating to the maintenance of international peace and security as are appropriate for regional action provided that such arrangements or agencies and their activities are consistent with the Purposes and Principles of the United Nations. +The Members of the United Nations entering into such arrangements or constituting such agencies shall make every effort to achieve pacific settlement of local disputes through such regional arrangements or by such regional agencies before referring them to the Security Council. +The Security Council shall encourage the development of pacific settlement of local disputes through such regional arrangements or by such regional agencies either on the initiative of the states concerned or by reference from the Security Council. +This Article in no way impairs the application of Articles 34 and 35. +Article 53 +The Security Council shall, where appropriate, utilize such regional arrangements or agencies for enforcement action under its authority. But no enforcement action shall be taken under regional arrangements or by regional agencies without the authorization of the Security Council, with the exception of measures against any enemy state, as defined in paragraph 2 of this Article, provided for pursuant to Article 107 or in regional arrangements directed against renewal of aggressive policy on the part of any such state, until such time as the Organization may, on request of the Governments concerned, be charged with the responsibility for preventing further aggression by such a state. +The term enemy state as used in paragraph 1 of this Article applies to any state which during the Second World War has been an enemy of any signatory of the present Charter. +Article 54 +The Security Council shall at all times be kept fully informed of activities undertaken or in contemplation under regional arrangements or by regional agencies for the maintenance of international peace and security. + +Chapter IX: International Economic and Social Cooperation +Article 55 +With a view to the creation of conditions of stability and well-being which are necessary for peaceful and friendly relations among nations based on respect for the principle of equal rights and self-determination of peoples, the United Nations shall promote: + +higher standards of living, full employment, and conditions of economic and social progress and development; +solutions of international economic, social, health, and related problems; and international cultural and educational cooperation; and +universal respect for, and observance of, human rights and fundamental freedoms for all without distinction as to race, sex, language, or religion. +Article 56 +All Members pledge themselves to take joint and separate action in co-operation with the Organization for the achievement of the purposes set forth in Article 55. + +Article 57 +The various specialized agencies, established by intergovernmental agreement and having wide international responsibilities, as defined in their basic instruments, in economic, social, cultural, educational, health, and related fields, shall be brought into relationship with the United Nations in accordance with the provisions of Article 63. +Such agencies thus brought into relationship with the United Nations are hereinafter referred to as specialized agencies. +Article 58 +The Organization shall make recommendations for the co-ordination of the policies and activities of the specialized agencies. + +Article 59 +The Organization shall, where appropriate, initiate negotiations among the states concerned for the creation of any new specialized agencies required for the accomplishment of the purposes set forth in Article 55. + +Article 60 +Responsibility for the discharge of the functions of the Organization set forth in this Chapter shall be vested in the General Assembly and, under the authority of the General Assembly, in the Economic and Social Council, which shall have for this purpose the powers set forth in Chapter X. + +Chapter X: The Economic and Social Council +COMPOSITION +Article 61 +The Economic and Social Council shall consist of fifty-four Members of the United Nations elected by the General Assembly. +Subject to the provisions of paragraph 3, eighteen members of the Economic and Social Council shall be elected each year for a term of three years. A retiring member shall be eligible for immediate re-election. +At the first election after the increase in the membership of the Economic and Social Council from twenty-seven to fifty-four members, in addition to the members elected in place of the nine members whose term of office expires at the end of that year, twenty-seven additional members shall be elected. Of these twenty-seven additional members, the term of office of nine members so elected shall expire at the end of one year, and of nine other members at the end of two years, in accordance with arrangements made by the General Assembly. +Each member of the Economic and Social Council shall have one representative. +FUNCTIONS AND POWERS +Article 62 +The Economic and Social Council may make or initiate studies and reports with respect to international economic, social, cultural, educational, health, and related matters and may make recommendations with respect to any such matters to the General Assembly to the Members of the United Nations, and to the specialized agencies concerned. +It may make recommendations for the purpose of promoting respect for, and observance of, human rights and fundamental freedoms for all. +It may prepare draft conventions for submission to the General Assembly, with respect to matters falling within its competence. +It may call, in accordance with the rules prescribed by the United Nations, international conferences on matters falling within its competence. +Article 63 +The Economic and Social Council may enter into agreements with any of the agencies referred to in Article 57, defining the terms on which the agency concerned shall be brought into relationship with the United Nations. Such agreements shall be subject to approval by the General Assembly. +It may co-ordinate the activities of the specialized agencies through consultation with and recommendations to such agencies and through recommendations to the General Assembly and to the Members of the United Nations. +Article 64 +The Economic and Social Council may take appropriate steps to obtain regular reports from the specialized agencies. It may make arrangements with the Members of the United Nations and with the specialized agencies to obtain reports on the steps taken to give effect to its own recommendations and to recommendations on matters falling within its competence made by the General Assembly. +It may communicate its observations on these reports to the General Assembly. +Article 65 +The Economic and Social Council may furnish information to the Security Council and shall assist the Security Council upon its request. + +Article 66 +The Economic and Social Council shall perform such functions as fall within its competence in connection with the carrying out of the recommendations of the General Assembly. +It may, with the approval of the General Assembly, perform services at the request of Members of the United Nations and at the request of specialized agencies. +It shall perform such other functions as are specified elsewhere in the present Charter or as may be assigned to it by the General Assembly. +VOTING +Article 67 +Each member of the Economic and Social Council shall have one vote. +Decisions of the Economic and Social Council shall be made by a majority of the members present and voting. +PROCEDURE +Article 68 +The Economic and Social Council shall set up commissions in economic and social fields and for the promotion of human rights, and such other commissions as may be required for the performance of its functions. + +Article 69 +The Economic and Social Council shall invite any Member of the United Nations to participate, without vote, in its deliberations on any matter of particular concern to that Member. + +Article 70 +The Economic and Social Council may make arrangements for representatives of the specialized agencies to participate, without vote, in its deliberations and in those of the commissions established by it, and for its representatives to participate in the deliberations of the specialized agencies. + +Article 71 +The Economic and Social Council may make suitable arrangements for consultation with non-governmental organizations which are concerned with matters within its competence. Such arrangements may be made with international organizations and, where appropriate, with national organizations after consultation with the Member of the United Nations concerned. + +Article 72 +The Economic and Social Council shall adopt its own rules of procedure, including the method of selecting its President. +The Economic and Social Council shall meet as required in accordance with its rules, which shall include provision for the convening of meetings on the request of a majority of its members. +Chapter XI: Declaration Regarding Non-Self-Governing Territories +Article 73 +Members of the United Nations which have or assume responsibilities for the administration of territories whose peoples have not yet attained a full measure of self-government recognize the principle that the interests of the inhabitants of these territories are paramount, and accept as a sacred trust the obligation to promote to the utmost, within the system of international peace and security established by the present Charter, the well-being of the inhabitants of these territories, and, to this end: + +to ensure, with due respect for the culture of the peoples concerned, their political, economic, social, and educational advancement, their just treatment, and their protection against abuses; +to develop self-government, to take due account of the political aspirations of the peoples, and to assist them in the progressive development of their free political institutions, according to the particular circumstances of each territory and its peoples and their varying stages of advancement; +to further international peace and security; +to promote constructive measures of development, to encourage research, and to co-operate with one another and, when and where appropriate, with specialized international bodies with a view to the practical achievement of the social, economic, and scientific purposes set forth in this Article; and +to transmit regularly to the Secretary-General for information purposes, subject to such limitation as security and constitutional considerations may require, statistical and other information of a technical nature relating to economic, social, and educational conditions in the territories for which they are respectively responsible other than those territories to which Chapters XII and XIII apply. +Article 74 +Members of the United Nations also agree that their policy in respect of the territories to which this Chapter applies, no less than in respect of their metropolitan areas, must be based on the general principle of good-neighbourliness, due account being taken of the interests and well-being of the rest of the world, in social, economic, and commercial matters. + +Chapter XII: International Trusteeship System +Article 75 +The United Nations shall establish under its authority an international trusteeship system for the administration and supervision of such territories as may be placed thereunder by subsequent individual agreements. These territories are hereinafter referred to as trust territories. + +Article 76 +The basic objectives of the trusteeship system, in accordance with the Purposes of the United Nations laid down in Article 1 of the present Charter, shall be: + +to further international peace and security; +to promote the political, economic, social, and educational advancement of the inhabitants of the trust territories, and their progressive development towards self-government or independence as may be appropriate to the particular circumstances of each territory and its peoples and the freely expressed wishes of the peoples concerned, and as may be provided by the terms of each trusteeship agreement; +to encourage respect for human rights and for fundamental freedoms for all without distinction as to race, sex, language, or religion, and to encourage recognition of the interdependence of the peoples of the world; and +to ensure equal treatment in social, economic, and commercial matters for all Members of the United Nations and their nationals, and also equal treatment for the latter in the administration of justice, without prejudice to the attainment of the foregoing objectives and subject to the provisions of Article 80. +Article 77 +The trusteeship system shall apply to such territories in the following categories as may be placed thereunder by means of trusteeship agreements: +territories now held under mandate; +territories which may be detached from enemy states as a result of the Second World War; and +territories voluntarily placed under the system by states responsible for their administration. +It will be a matter for subsequent agreement as to which territories in the foregoing categories will be brought under the trusteeship system and upon what terms. +Article 78 +The trusteeship system shall not apply to territories which have become Members of the United Nations, relationship among which shall be based on respect for the principle of sovereign equality. + +Article 79 +The terms of trusteeship for each territory to be placed under the trusteeship system, including any alteration or amendment, shall be agreed upon by the states directly concerned, including the mandatory power in the case of territories held under mandate by a Member of the United Nations, and shall be approved as provided for in Articles 83 and 85. + +Article 80 +Except as may be agreed upon in individual trusteeship agreements, made under Articles 77, 79, and 81, placing each territory under the trusteeship system, and until such agreements have been concluded, nothing in this Chapter shall be construed in or of itself to alter in any manner the rights whatsoever of any states or any peoples or the terms of existing international instruments to which Members of the United Nations may respectively be parties. +Paragraph 1 of this Article shall not be interpreted as giving grounds for delay or postponement of the negotiation and conclusion of agreements for placing mandated and other territories under the trusteeship system as provided for in Article 77. +Article 81 +The trusteeship agreement shall in each case include the terms under which the trust territory will be administered and designate the authority which will exercise the administration of the trust territory. Such authority, hereinafter called the administering authority, may be one or more states or the Organization itself. + +Article 82 +There may be designated, in any trusteeship agreement, a strategic area or areas which may include part or all of the trust territory to which the agreement applies, without prejudice to any special agreement or agreements made under Article 43. + +Article 83 +All functions of the United Nations relating to strategic areas, including the approval of the terms of the trusteeship agreements and of their alteration or amendment shall be exercised by the Security Council. +The basic objectives set forth in Article 76 shall be applicable to the people of each strategic area. +The Security Council shall, subject to the provisions of the trusteeship agreements and without prejudice to security considerations, avail itself of the assistance of the Trusteeship Council to perform those functions of the United Nations under the trusteeship system relating to political, economic, social, and educational matters in the strategic areas. +Article 84 +It shall be the duty of the administering authority to ensure that the trust territory shall play its part in the maintenance of international peace and security. To this end the administering authority may make use of volunteer forces, facilities, and assistance from the trust territory in carrying out the obligations towards the Security Council undertaken in this regard by the administering authority, as well as for local defence and the maintenance of law and order within the trust territory. + +Article 85 +The functions of the United Nations with regard to trusteeship agreements for all areas not designated as strategic, including the approval of the terms of the trusteeship agreements and of their alteration or amendment, shall be exercised by the General Assembly. +The Trusteeship Council, operating under the authority of the General Assembly shall assist the General Assembly in carrying out these functions. +Chapter XIII: The Trusteeship Council +COMPOSITION +Article 86 +The Trusteeship Council shall consist of the following Members of the United Nations: +those Members administering trust territories; +such of those Members mentioned by name in Article 23 as are not administering trust territories; and +as many other Members elected for three-year terms by the General Assembly as may be necessary to ensure that the total number of members of the Trusteeship Council is equally divided between those Members of the United Nations which administer trust territories and those which do not. +Each member of the Trusteeship Council shall designate one specially qualified person to represent it therein. +FUNCTIONS AND POWERS +Article 87 +The General Assembly and, under its authority, the Trusteeship Council, in carrying out their functions, may: + +consider reports submitted by the administering authority; +accept petitions and examine them in consultation with the administering authority; +provide for periodic visits to the respective trust territories at times agreed upon with the administering authority; and +take these and other actions in conformity with the terms of the trusteeship agreements. +Article 88 +The Trusteeship Council shall formulate a questionnaire on the political, economic, social, and educational advancement of the inhabitants of each trust territory, and the administering authority for each trust territory within the competence of the General Assembly shall make an annual report to the General Assembly upon the basis of such questionnaire. + +VOTING +Article 89 +Each member of the Trusteeship Council shall have one vote. +Decisions of the Trusteeship Council shall be made by a majority of the members present and voting. +PROCEDURE +Article 90 +The Trusteeship Council shall adopt its own rules of procedure, including the method of selecting its President. +The Trusteeship Council shall meet as required in accordance with its rules, which shall include provision for the convening of meetings on the request of a majority of its members. +Article 91 +The Trusteeship Council shall, when appropriate, avail itself of the assistance of the Economic and Social Council and of the specialized agencies in regard to matters with which they are respectively concerned. + +Chapter XIV: The International Court of Justice +Article 92 +The International Court of Justice shall be the principal judicial organ of the United Nations. It shall function in accordance with the annexed Statute, which is based upon the Statute of the Permanent Court of International Justice and forms an integral part of the present Charter. + +Article 93 +All Members of the United Nations are ipso facto parties to the Statute of the International Court of Justice. +A state which is not a Member of the United Nations may become a party to the Statute of the International Court of Justice on conditions to be determined in each case by the General Assembly upon the recommendation of the Security Council. +Article 94 +Each Member of the United Nations undertakes to comply with the decision of the International Court of Justice in any case to which it is a party. +If any party to a case fails to perform the obligations incumbent upon it under a judgment rendered by the Court, the other party may have recourse to the Security Council, which may, if it deems necessary, make recommendations or decide upon measures to be taken to give effect to the judgment. +Article 95 +Nothing in the present Charter shall prevent Members of the United Nations from entrusting the solution of their differences to other tribunals by virtue of agreements already in existence or which may be concluded in the future. + +Article 96 +The General Assembly or the Security Council may request the International Court of Justice to give an advisory opinion on any legal question. +Other organs of the United Nations and specialized agencies, which may at any time be so authorized by the General Assembly, may also request advisory opinions of the Court on legal questions arising within the scope of their activities. +Chapter XV: The Secretariat +Article 97 +The Secretariat shall comprise a Secretary-General and such staff as the Organization may require. The Secretary-General shall be appointed by the General Assembly upon the recommendation of the Security Council. He shall be the chief administrative officer of the Organization. + +Article 98 +The Secretary-General shall act in that capacity in all meetings of the General Assembly, of the Security Council, of the Economic and Social Council, and of the Trusteeship Council, and shall perform such other functions as are entrusted to him by these organs. The Secretary-General shall make an annual report to the General Assembly on the work of the Organization. + +Article 99 +The Secretary-General may bring to the attention of the Security Council any matter which in his opinion may threaten the maintenance of international peace and security. + +Article 100 +In the performance of their duties the Secretary-General and the staff shall not seek or receive instructions from any government or from any other authority external to the Organization. They shall refrain from any action which might reflect on their position as international officials responsible only to the Organization. +Each Member of the United Nations undertakes to respect the exclusively international character of the responsibilities of the Secretary-General and the staff and not to seek to influence them in the discharge of their responsibilities. +Article 101 +The staff shall be appointed by the Secretary-General under regulations established by the General Assembly. +Appropriate staffs shall be permanently assigned to the Economic and Social Council, the Trusteeship Council, and, as required, to other organs of the United Nations. These staffs shall form a part of the Secretariat. +The paramount consideration in the employment of the staff and in the determination of the conditions of service shall be the necessity of securing the highest standards of efficiency, competence, and integrity. Due regard shall be paid to the importance of recruiting the staff on as wide a geographical basis as possible. +Chapter XVI: Miscellaneous Provisions +Article 102 +Every treaty and every international agreement entered into by any Member of the United Nations after the present Charter comes into force shall as soon as possible be registered with the Secretariat and published by it. +No party to any such treaty or international agreement which has not been registered in accordance with the provisions of paragraph 1 of this Article may invoke that treaty or agreement before any organ of the United Nations. +Article 103 +In the event of a conflict between the obligations of the Members of the United Nations under the present Charter and their obligations under any other international agreement, their obligations under the present Charter shall prevail. + +Article 104 +The Organization shall enjoy in the territory of each of its Members such legal capacity as may be necessary for the exercise of its functions and the fulfilment of its purposes. + +Article 105 +The Organization shall enjoy in the territory of each of its Members such privileges and immunities as are necessary for the fulfilment of its purposes. +Representatives of the Members of the United Nations and officials of the Organization shall similarly enjoy such privileges and immunities as are necessary for the independent exercise of their functions in connection with the Organization. +The General Assembly may make recommendations with a view to determining the details of the application of paragraphs 1 and 2 of this Article or may propose conventions to the Members of the United Nations for this purpose. +Chapter XVII: Transitional Security Arrangements +Article 106 +Pending the coming into force of such special agreements referred to in Article 43 as in the opinion of the Security Council enable it to begin the exercise of its responsibilities under Article 42, the parties to the Four-Nation Declaration, signed at Moscow, 30 October 1943, and France, shall, in accordance with the provisions of paragraph 5 of that Declaration, consult with one another and as occasion requires with other Members of the United Nations with a view to such joint action on behalf of the Organization as may be necessary for the purpose of maintaining international peace and security. + +Article 107 +Nothing in the present Charter shall invalidate or preclude action, in relation to any state which during the Second World War has been an enemy of any signatory to the present Charter, taken or authorized as a result of that war by the Governments having responsibility for such action. + +Chapter XVIII: Amendments +Article 108 +Amendments to the present Charter shall come into force for all Members of the United Nations when they have been adopted by a vote of two thirds of the members of the General Assembly and ratified in accordance with their respective constitutional processes by two thirds of the Members of the United Nations, including all the permanent members of the Security Council. + +Article 109 +A General Conference of the Members of the United Nations for the purpose of reviewing the present Charter may be held at a date and place to be fixed by a two-thirds vote of the members of the General Assembly and by a vote of any nine members of the Security Council. Each Member of the United Nations shall have one vote in the conference. +Any alteration of the present Charter recommended by a two-thirds vote of the conference shall take effect when ratified in accordance with their respective constitutional processes by two thirds of the Members of the United Nations including all the permanent members of the Security Council. +If such a conference has not been held before the tenth annual session of the General Assembly following the coming into force of the present Charter, the proposal to call such a conference shall be placed on the agenda of that session of the General Assembly, and the conference shall be held if so decided by a majority vote of the members of the General Assembly and by a vote of any seven members of the Security Council. +Chapter XIX: Ratification and Signature +Article 110 +The present Charter shall be ratified by the signatory states in accordance with their respective constitutional processes. +The ratifications shall be deposited with the Government of the United States of America, which shall notify all the signatory states of each deposit as well as the Secretary-General of the Organization when he has been appointed. +The present Charter shall come into force upon the deposit of ratifications by the Republic of China, France, the Union of Soviet Socialist Republics, the United Kingdom of Great Britain and Northern Ireland, and the United States of America, and by a majority of the other signatory states. A protocol of the ratifications deposited shall thereupon be drawn up by the Government of the United States of America which shall communicate copies thereof to all the signatory states. +The states signatory to the present Charter which ratify it after it has come into force will become original Members of the United Nations on the date of the deposit of their respective ratifications. +Article 111 +The present Charter, of which the Chinese, French, Russian, English, and Spanish texts are equally authentic, shall remain deposited in the archives of the Government of the United States of America. Duly certified copies thereof shall be transmitted by that Government to the Governments of the other signatory states. + +In Faith Whereof the representatives of the Governments of the United Nations have signed the present Charter. DONE at the city of San Francisco the twenty-sixth day of June, one thousand nine hundred and forty-five. + + +Note on Amendments to Articles 23, 27, 61, 109 +Amendments to Articles 23, 27 and 61 of the Charter were adopted by the General Assembly on 17 December 1963 and came into force on 31 August 1965. A further amendment to Article 61 was adopted by the General Assembly on 20 December 1971, and came into force on 24 September 1973. An amendment to Article 109, adopted by the General Assembly on 20 December 1965, came into force on 12 June 1968. + +The amendment to Article 23 enlarges the membership of the Security Council from eleven to fifteen. The amended Article 27 provides that decisions of the Security Council on procedural matters shall be made by an affirmative vote of nine members (formerly seven) and on all other matters by an affirmative vote of nine members (formerly seven), including the concurring votes of the five permanent members of the Security Council. + +The amendment to Article 61, which entered into force on 31 August 1965, enlarged the membership of the Economic and Social Council from eighteen to twenty-seven. The subsequent amendment to that Article, which entered into force on 24 September 1973, further increased the membership of the Council from twenty-seven to fifty-four. + +The amendment to Article 109, which relates to the first paragraph of that Article, provides that a General Conference of Member States for the purpose of reviewing the Charter may be held at a date and place to be fixed by a two-thirds vote of the members of the General Assembly and by a vote of any nine members (formerly seven) of the Security Council. Paragraph 3 of Article 109, which deals with the consideration of a possible review conference during the tenth regular session of the General Assembly, has been retained in its original form in its reference to a "vote, of any seven members of the Security Council", the paragraph having been acted upon in 1955 by the General Assembly, at its tenth regular session, and by the Security Council. \ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_ES.html b/stdlib/benchmarks/collections/data/UN_charter_ES.html new file mode 100644 index 0000000000..ad5cdb939c --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_ES.html @@ -0,0 +1,2309 @@ + + + + + + + + + + + + + + + + + + + Carta de las Naciones Unidas (texto completo) | Naciones Unidas + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + +
+
+ + +
+ + + + + + + + + + +
+
+
+ +
+ + + +

Carta de las Naciones Unidas (texto completo)

+ + + + +
+
+ + +
+ + + + +
+
+ +
+
+

Preámbulo

+ +

NOSOSTROS LOS PUEBLOS DE LAS NACIONES UNIDAS RESUELTOS

+ +

a preservar a las generaciones venideras del flagelo de la guerra que dos veces durante nuestra vida ha infligido a la Humanidad sufrimientos indecibles,

+ +

a reafirmar la fe en los derechos fundamentales del hombre, en la dignidad y el valor de la persona humana, en la igualdad de derechos de hombres y mujeres y de las naciones grandes y pequeñas,

+ +

a crear condiciones bajo las cuales puedan mantenerse la justicia y el respeto a las obligaciones emanadas de los tratados y de otras fuentes del derecho internacional,

+ +

a promover el progreso social y a elevar el nivel de vida dentro de un concepto más amplio de la libertad,

+ +

Y CON TALES FINALIDADES

+ +

a practicar la tolerancia y a convivir en paz como buenos vecinos,

+ +

a unir nuestras fuerzas para el mantenimiento de la paz y la seguridad internacionales,

+ +

a asegurar, mediante la aceptación de principios y la adopción de métodos, que no se usará; la fuerza armada sino en servicio del interés común, y

+ +

a emplear un mecanismo internacional para promover el progreso económico y social de todos los pueblos,

+ +

HEMOS DECIDIDO UNIR NUESTROS ESFUERZOS PARA REALIZAR DESIGNIOS.

+ +

Por lo tanto, nuestros respectivos Gobiernos, por medio de representantes reunidos en la ciudad de San Francisco que han exhibido sus plenos poderes, encontrados en buena y debida forma, han convenido en la presente Carta de las Naciones Unidas, y por este acto establecen una organización internacional que se denominará las Naciones Unidas.

+ +

Capítulo I: Propósitos y principios

+ +

Artículo 1

+ +

Los propósitos de las Naciones Unidas son:

+ +
    +
  1. Mantener la paz y la seguridad internacionales, y con tal fin: tomar medidas colectivas eficaces para prevenir y eliminar amenazas a la paz, y para suprimir actos de agresión u otros quebrantamientos de la paz; y lograr por medios pacíficos, y de conformidad con los principios de la justicia y del derecho internacional, el ajuste o arreglo de controversias o situaciones internacionales susceptibles de conducir a quebrantamientos de la paz;
  2. +
  3. Fomentar entre las naciones relaciones de amistad basadas en el respeto al principio de la igualdad de derechos y al de la libre determinación de los pueblos, y tomar otros medidas adecuadas para fortalecer la paz universal;
  4. +
  5. Realizar la cooperación internacional en la solución de problemas internacionales de carácter económico, social, cultural o humanitario, y en el desarrollo y estímulo del respeto a los derechos humanos y a las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión; y
  6. +
  7. Servir de centro que armonice los esfuerzos de las naciones por alcanzar estos propósitos comunes.
  8. +
+ +

Artículo 2

+ +

Para la realización de los Propósitos consignados en el Artículo 1, la Organización y sus Miembros procederán de acuerdo con los siguientes Principios:

+ +
    +
  1. La Organización esta basada en el principio de la igualdad soberana de todos sus Miembros.
  2. +
  3. Los Miembros de la Organización, a fin de asegurarse los derechos y beneficios inherentes a su condición de tales, cumplirán de buena fe las obligaciones contraidas por ellos de conformidad con esta Carta.
  4. +
  5. Los Miembros de la Organización arreglarán sus controversias internacionales por medios pacificos de tal manera que no se pongan en peligro ni la paz y la seguridad internacionales ni la justicia.
  6. +
  7. Los Miembros de la Organización, en sus relaciones internacionales, se abstendrán de recurrir a la amenaza o al uso de la fuerza contra la integridad territorial o la independencia política de cualquier Estado, o en cualquier otra forma incompatible con los Propósitos de las Naciones Unidas.
  8. +
  9. Los Miembros de la Organización prestaron a ésta toda clase de ayuda en cualquier acción que ejerza de conformidad con esta Carta, y se abstendrán de dar ayuda a Estado alguno contra el cual la Organización estuviere ejerciendo acción preventiva o coercitiva.
  10. +
  11. La Organización hará que los Estados que no son Miembros de las Naciones Unidas se conduzcan de acuerdo con estos Principios en la medida que sea necesaria para mantener la paz y la seguridad internacionales.
  12. +
  13. Ninguna disposición de esta Carta autorizará a las Naciones Unidas a intervenir en los asuntos que son esencialmente de la jurisdicción interna de los Estados, ni obligará; a los Miembros a someter dichos asuntos a procedimientos de arreglo conforme a la presente Carta; pero este principio no se opone a la aplicación de las medidas coercitivas prescritas en el Capítulo VII.
  14. +
+ +

Capítulo II: Miembros

+ +

Artículo 3

+ +

Son Miembros originarios de las Naciones Unidas los Estados que habiendo participado en la Conferencia de las Naciones Unidas sobre Organización Internacional celebrada en San Francisco, o que habiendo firmado previamente la Declaración de las Naciones Unidas de 1 de enero de 1942, suscriban esta Carta y la ratifiquen de conformidad con el Artículo 110.

+ +

Artículo 4

+ +
    +
  1. Podrán ser Miembros de las Naciones Unidas todos los demás Estados amantes de la paz que acepten las obligaciones consignadas en esta Carta, y que, a juicio de la Organización, estén capacitados para cumplir dichas obligaciones y se hallen dispuestos a hacerlo.
  2. +
  3. La admisión de tales Estados como Miembros de las Naciones Unidas se efectuará por decisión de la Asamblea General a recomendación del Consejo de Seguridad.
  4. +
+ +

Artículo 5

+ +

Todo Miembro de las Naciones Unidas que haya sido objeto de acción preventiva o coercitiva por parte del Consejo de Seguridad podrá ser suspendido por la Asamblea General, a recomendación del Consejo de Seguridad, del ejercicio de los derechos y privilegios inherentes a su calidad de Miembro. El ejercicio de tales derechos y privilegios podrá ser restituido por el Consejo de Seguridad.

+ +

Artículo 6

+ +

Todo Miembro de las Naciones Unidas que haya violado repetidamente los Principios contenidos en esta Carta podrá ser expulsado de la Organización por la Asamblea General a recomendación del Consejo de Seguridad.

+ +

Capítulo III: Órganos

+ +

Artículo 7

+ +
    +
  1. Se establecen como órganos principales de las Naciones Unidas: una Asamblea General, un Consejo de Seguridad, un Consejo Económico y Social, un Consejo de Administración Fiduciaria, una Corte Internacional de Justicia, una Secretaría.
  2. +
  3. Se podrán establecer, de acuerdo con las disposiciones de la presente Carta, los órganos subsidiarios que se estimen necesarios.
  4. +
+ +

Artículo 8

+ +

La Organización no establecerá restricciones en cuanto a la elegibilidad de hombres y mujeres para participar en condiciones de igualdad y en cualquier caracter en las funciones de sus órganos principales y subsidiarios.

+ +

Capítulo IV: La Asamblea General

+ +

COMPOSICIÓN

+ +

Artículo 9

+ +
    +
  1. La Asamblea General estará integrada por todos los Miembros de las Naciones Unidas.
  2. +
  3. Ningun Miembro podrá tener más de cinco representantes en la Asamblea General.
  4. +
+ +

FUNCIONES y PODERES

+ +

Artículo 10

+ +

La Asamblea General podrá discutir cualesquier asuntos o cuestiones dentro de los límites de esta Carta o que se refieran a los poderes y funciones de cualquiera de los órganos creados por esta Carta, y salvo lo dispuesto en el Artículo 12 podrá hacer recomendaciones sobre tales asuntos o cuestiones a los Miembros de las Naciones Unidas o al Consejo de Seguridad o a éste y a aquéllos.

+ +

Artículo 11

+ +
    +
  1. La Asamblea General podrá considerar los principios generales de la cooperación en el mantenimiento de la paz y la seguridad internacionales, incluso los principios que rigen el desarme y la regulación de los armamentos, y podrá tambien hacer recomendaciones respecto de tales principios a los Miembros o al Consejo de Seguridad o a éste y a aquéllos.
  2. +
  3. La Asamblea General podrá discutir toda cuestión relativa al mantenimiento de la paz y la seguridad internacionales que presente a su consideración cualquier Miembro de las Naciones Unidas o el Consejo de Seguridad, o que un Estado que no es Miembro de las Naciones Unidas presente de conformidad con el Artículo 35, párrafo 2, y salvo lo dispuesto en el Artículo 12, podrá hacer recomendaciones acerca de tales cuestiones al Estado o Estados interesados o al Consejo de Seguridad o a éste y a aquéllos. Toda cuestión de esta naturaleza con respecto a la cual se requiera acción será referida al Consejo de Seguridad por la Asamblea General antes o después de discutirla.
  4. +
  5. La Asamblea General podrá llamar la atención del Consejo de Seguridad hacia situaciones susceptibles de poner en peligro la paz y la seguridad internacionales.
  6. +
  7. Los poderes de la Asamblea General enumerados en este Artículo no limitarán el alcance general del Artículo 10.
  8. +
+ +

Artículo 12

+ +
    +
  1. Mientras el Consejo de Seguridad esté desempeñando las funciones que le asigna esta Carta con respecto a una controversia o situación, la Asamblea General no hará recomendación alguna sobre tal controversia o situación, a no ser que lo solicite el Consejo de Seguridad.
  2. +
  3. El Secretario General, con el consentimiento del Consejo de Seguridad, informará a la Asamblea General, en cada periodo de sesiones, sobre todo asunto relativo al mantenimiento de la paz y la seguridad internacionales que estuviere tratando el Consejo de Seguridad, e informará asimismo a la Asamblea General, o a los Miembros de las Naciones Unidas si la Asamblea no estuviere reunida, tan pronto como el Consejo de Seguridad cese de tratar dichos asuntos.
  4. +
+ +

Artículo 13

+ +
    +
  1. La Asamblea General promoverá estudios y hará recomendaciones para los fines siguientes: +
      +
    1. fomentar la cooperación internacional en el campo político e impulsar el desarrollo progresivo del derecho internacional y su codificación;
    2. +
    3. fomentar la cooperación internacional en materias de carácter económico, social, cultural, educativo y sanitario y ayudar a hacer efectivos los derechos humanos y las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión.
    4. +
    +
  2. +
  3. Los demás poderes, responsabilidades y funciones de la Asamblea General con relación a los asuntos que se mencionan en el inciso b del párrafo 1 precedente quedan enumerados en los Capítulos IX y X.
  4. +
+ +

Artículo 14

+ +

Salvo lo dispuesto en el Artículo 12, la Asamblea General podrá recomendar medidas para el arreglo pacífico de cualesquiera situaciones, sea cual fuere su origen, que a juicio de la Asamblea puedan perjudicar el bienestar general o las relaciones amistosas entre naciones, incluso las situaciones resultantes de una violación de las disposiciones de esta Carta que enuncian los Propósitos y Principios de las Naciones Unidas.

+ +

Artículo 15

+ +
    +
  1. La Asamblea General recibirá y considerará informes anuales y especiales del Consejo de Seguridad. Estos informes comprenderán una relación de las medidas que el Consejo de Seguridad haya decidido aplicar o haya aplicado para mantener la paz y la seguridad internacionales.
  2. +
  3. La Asamblea General recibirá y considerará informes de los demás órganos de las Naciones Unidas.
  4. +
+ +

Artículo 16

+ +

La Asamblea General desempeñará, con respecto al régimen internacional de administración fiduciaria, las funciones que se le atribuyen conforme a los Capítulos XII y XIII, incluso la aprobación de los acuerdos de administración fiduciaria de zonas no designadas como estratégicas.

+ +

Artículo 17

+ +
    +
  1. La Asamblea General examinará y aprobará el presupuesto de la Organización.
  2. +
  3. Los miembros sufragarán los gastos de la Organización en la proporción que determine la Asamblea General.
  4. +
  5. La Asamblea General considerará y aprobará los arreglos financieros y presupuestarios que se celebren con los organismos especializados de que trata el Artículo 57 y examinará los presupuestos administrativos de tales organismos especializados con el fin de hacer recomendaciones a los organismos correspondientes.
  6. +
+ +

VOTACIÓN

+ +

Artículo 18

+ +
    +
  1. Cada Miembro de la Asamblea General tendrá un voto.
  2. +
  3. Las decisiones de la Asamblea General en cuestiones importantes se tomarán por el voto de una mayoria de dos tercios de los miembros presentes y votantes. Estas cuestiones comprenderán: las recomendaciones relativas al mantenimiento de la paz y la seguridad internacionales, la elección de los miembros no permanentes del Consejo de Seguridad, la elección de los miembros del Consejo Económico y Social, la elección de los miembros del Consejo de Administración Fiduciaria de conformidad con el inciso c, párrafo 1, del Artículo 86, la admisión de nuevos Miembros a las Naciones Unidas, la suspensión de los derechos y privilegios de los Miembros, la expulsión de Miembros, las cuestiones relativas al funcionamiento del régimen de administración fiduciaria y las cuestiones presupuestarias.
  4. +
  5. Las decisiones sobre otras cuestiones, incluso la determinación de categorías adicionales de cuestiones que deban resolverse por mayoría de dos tercios, se tomarán por la mayoría de los miembros presentes y votantes.
  6. +
+ +

Artículo 19

+ +

El Miembro de las Naciones Unidas que esté en mora en el pago de sus cuotas financieras para los gastos de la Organización, no tendra voto en la Asamblea General cuando la suma adeudada sea igual o superior al total de las cuotas adeudadas por los dos años anteriores completos. La Asamblea General podrá, sin embargo, permitir que dicho Miembro vote si llegare a la conclusión de que la mora se debe a circunstancias ajenas a la voluntad de dicho Miembro.

+ +

PROCEDIMIENTO

+ +

Artículo 20

+ +

Las Asamblea General se reunirá anualmente en sesiones ordinarias y, cada vez que las circunstancias lo exijan, en sesiones extraordinarias. El Secretario General convocará a sesiones extraordinarias a solicitud del Consejo de Seguridad o de la mayoría de los Miembros de las Naciones Unidas.

+ +

Artículo 21

+ +

La Asamblea General dictará su propio reglamento y elegirá su Presidente para cada periodo de sesiones.

+ +

Artículo 22

+ +

La Asamblea General podrá establecer los organismos subsidiarios que estime necesarios para el desempeño de sus funciones.

+ +

Capítulo V: El Consejo de Seguridad

+ +

COMPOSICIÓN

+ +

Artículo 23

+ +
    +
  1. El Consejo de Seguridad se compondrá de quince miembros de las Naciones Unidas. La República de China, Francia, la Unión de las Repúblicas Socialistas Soviéticas, el Reino Unido de la Gran Bretaña e Irlanda del Norte y los Estados Unidos de América, serán miembros permanentes del Consejo de Seguridad. La Asamblea General elegirá otros diez Miembros de las Naciones Unidas que serán miembros no permanentes del Consejo de Seguridad, prestando especial atención, en primer término, a la contribución de los Miembros de las Naciones Unidas al mantenimiento de la paz y la seguridad internacionales y a los démas propósitos de la Organización, como tambien a una distribución geográfica equitativa.
  2. +
  3. Los miembros no permanentes del Consejo de Seguridad serán elegidos por un periodo de dos años. En la primera elección de los miembros no permanentes que se celebre despues de haberse aumentado de once a quince el número de miembros del Consejo de Seguridad, dos de los cuatro miembros nuevos serán elegidos por un periodo de un año. Los miembros salientes no serán reelegibles para el periodo subsiguiente.
  4. +
  5. Cada miembro del Consejo de Seguridad tendrá un representante.
  6. +
+ +

FUNCIONES y PODERES

+ +

Artículo 24

+ +
    +
  1. A fin de asegurar acción rápida y eficaz por parte de las Naciones Unidas, sus Miembros confieren al Consejo de Seguridad la responsabilidad primordial de mantener la paz y la seguridad internacionales, y reconocen que el Consejo de Seguridad actuá a nombre de ellos al desempeñar las funciones que le impone aquella responsabilidad.
  2. +
  3. En el desempeño de estas funciones, el Consejo de Seguridad procederá de acuerdo con los Propósitos y Principios de las Naciones Unidas. Los poderes otorgados al Consejo de Seguridad para el desempeño de dichas funciones quedan definidos en los Capítulos VI, VII, VIII y XII.
  4. +
  5. El Consejo de Seguridad presentará a la Asamblea General para su consideración informes anuales y, cuando fuere necesario, informes especiales.
  6. +
+ +

Artículo 25

+ +

Los Miembros de las Naciones Unidas convienen en aceptar y cumplir las decisiones del Consejo de Seguridad de acuerdo con esta Carta.

+ +

Artículo 26

+ +

A fin de promover el establecimiento y mantenimiento de la paz y la seguridad internacionales con la menor desviación posible de los recursos humanos y económicos del mundo hacia los armamentos, el Consejo de Seguridad tendrá a su cargo, con la ayuda del Comité de Estado Mayor a que se refiere e1 Artículo 47, la elaboración de planes que se someterán a los Miembros de las Naciones Unidas para el establecimiento de un sistema de regulación de los armamentos.

+ +

VOTACIÓN

+ +

Artículo 27

+ +
    +
  1. Cada miembro del Consejo de Seguridad tendrá un voto.
  2. +
  3. Las decisiones del Consejo de Seguridad sobre cuestiones de procedimiento serán tomadas por el voto afirmativo de nueve miembros.
  4. +
  5. Las decisiones del Consejo de Seguridad sobre todas las demás cuestiones serán tomadas por el voto afirmativo de nueve miembros, incluso los votos afirmativos de todos los miembros permanentes; pero en las decisiones tomadas en virtud del Capítulo VI y del párrafo 3 del Artículo 52, la parte en una controversia se abstendrá de votar.
  6. +
+ +

PROCEDIMIENTO

+ +

Artículo 28

+ +
    +
  1. El Consejo de Seguridad será organizado de modo que pueda funcionar continuamente. Con tal fin, cada miembro del Consejo de Seguridad tendra en todo momento su representante en la sede de la Organización.
  2. +
  3. El Consejo de Seguridad celebrará reuniones periódicas en las cuales cada uno de sus miembros podrá, si lo desea, hacerse representar por un miembro de su Gobierno o por otro representante especialmente designado.
  4. +
  5. El Consejo de Seguridad podrá celebrar reuniones en cualesquiera lugares, fuera de la sede de la Organización, que juzgue más apropiados para facilitar sus labores.
  6. +
+ +

Artículo 29

+ +

El Consejo de Seguridad podrá establecer los organismos subsidiarios que estime necesarios para el desempeño de sus funciones.

+ +

Artículo 30

+ +

El Consejo de Seguridad dictará su propio reglamento, el cual establecerá el método de elegir su Presidente.

+ +

Artículo 31

+ +

Cualquier Miembro de las Naciones Unidas que no sea miembro del Consejo de Seguridad podra participar sin derecho a voto en la discusión de toda cuestión llevada ante el Consejo de Seguridad cuando éste considere que los intereses de ese Miembro están afectados de manera especial.

+ +

Artículo 32

+ +

El Miembro de las Naciones Unidas que no tenga asiento en el Consejo de Seguridad o el Estado que no sea Miembro de las Naciones Unidas, si fuere parte en una controversia que esté considerando el Consejo de Seguridad, será invitado a participar sin derecho a voto en las discusiones relativas a dicha controversia. El Consejo de Seguridad establecerá las condiciones que estime justas para la participación de los Estados que no sean Miembros de las Naciones Unidas.

+ +

Capítulo VI: Arreglo pacífico de controversias

+ +

Artículo 33

+ +
    +
  1. Las partes en una controversia cuya continuación sea susceptible de poner en peligro el mantenimiento de la paz y la seguridad internacionales tratarán de buscarle solución, ante todo, mediante la negociación, la investigación, la mediación, la conciliación, el arbitraje, el arreglo judicial, el recurso a organismos o acuerdos regionales u otros medios pacíficos de su elección.
  2. +
  3. El Consejo de Seguridad, si lo estimare necesario, instará a las partes a que arreglen sus controversias por dichos medios.
  4. +
+ +

Artículo 34

+ +

El Consejo de Seguridad podrá investigar toda controversia, o toda situación susceptible de conducir a fricción internacional o dar origen a una controversia, a fin de determinar si la prolongación de tal controversia o situación puede poner en peligro el mantenimiento de la paz y la seguridad internacionales.

+ +

Artículo 35

+ +
    +
  1. Todo Miembro de las Naciones Unidas podrá llevar cualquiera controversia, o cualquiera situación de la naturaleza expresada en el Artículo 34, a la atención del Consejo de Seguridad o de la Asamblea General.
  2. +
  3. Un Estado que no es Miembro de las Naciones Unidas podrá llevar a la atención del Consejo de Seguridad o de la Asamblea General toda controversia en que sea parte, si acepta de antemano, en lo relativo a la controversia, las obligaciones de arreglo pacífico establecidas en esta Carta.
  4. +
  5. El procedimiento que siga la Asamblea General con respecto a asuntos que le sean presentados de acuerdo con este Artículo quedará sujeto a las disposiciones de los Artículos 11 y 12.
  6. +
+ +

Artículo 36

+ +
    +
  1. El Consejo de Seguridad podrá, en cualquier estado en que se encuentre una controversia de la naturaleza de que trata el Artículo 33 o una situación de indole semejante, recomendar los procedimientos o métodos de ajuste que sean apropiados.
  2. +
  3. El Consejo de Seguridad debera tomar en consideración todo procedimiento que las partes hayan adoptado para el arreglo de la controversia.
  4. +
  5. Al hacer recomendaciones de acuerdo con este Artículo, el Consejo de Seguridad deberá tomar tambien en consideración que las controversias de orden jurídico, por regla general, deben ser sometidas por las partes a la Corte Internacional de Justicia, de conformidad con las disposiciones del Estatuto de la Corte.
  6. +
+ +

Artículo 37

+ +
    +
  1. Si las partes en una controversia de la naturaleza definida en el Artículo 33 no lograren arreglarla por los medios indicados en dicho Artículo, la someterán al Consejo de Seguridad.
  2. +
  3. Si el Consejo de Seguridad estimare que la continuación de la controversia es realmente susceptible de poner en peligro el mantenimiento de la paz y la seguridad internacionales, el Consejo decidirá si ha de proceder de conformidad con el Artículo 36 o si ha de recomendar los términos de arreglo que considere apropiados.
  4. +
+ +

Artículo 38

+ +

Sin perjuicio de lo dispuesto en los Artículos 33 a 37, el Consejo de Seguridad podrá, si así lo solicitan todas las partes en una controversia, hacerles recomendaciones a efecto de que se llegue a un arreglo pacífico.

+ +

Capítulo VII: Acción en caso de amenazas a la paz, quebrantamientos de la paz o actos de agresión

+ +

Artículo 39

+ +

El Consejo de Seguridad determinará la existencia de toda amenaza a la paz, quebrantamiento de la paz o acto de agresion y hará recomendaciones o decidirá que medidas seran tomadas de conformidad con los Artículos 41 y 42 para mantener o restablecer 1a paz y la seguridad internacionales.

+ +

Artículo 40

+ +

A fin de evitar que la situación se agrave, el Consejo de Seguridad, antes de hacer las recomendaciones o decidir las medidas de que trata el Artículo 39, podrá instar a las partes interesadas a que cumplan con las medidas provisionales que juzgue necesarias o aconsejables. Dichas medidas provisionales no perjudicarán los derechos, las reclamaciones o la posición de las partes interesadas. El Consejo de Seguridad tomará debida nota del incumplimiento de dichas medidas provisionales.

+ +

Artículo 41

+ +

El Consejo de Seguridad podrá decidir qué medidas que no impliquen el uso de la fuerza armada han de emplearse para hacer efectivas sus decisiones, y podrá instar a los Miembros de las Naciones Unidas a que apliquen dichas medidas, que podrán comprender la interrupción total o parcial de las relaciones económicas y de las comunicaciones ferroviarias, marítimas, aéreas, postales, telegráficas, radioeléctricas, y otros medios de comunicación, así como la ruptura de relaciones diplomáticas.

+ +

Artículo 42

+ +

Si el Consejo de Seguridad estimare que las medidas de que trata el Artículo 41 pueden ser inadecuadas o han demostrado serlo, podrá ejercer, por medio de fuerzas aéreas, navales o terrestres, la acción que sea necesaria para mantener o restablecer la paz y la seguridad internacionales. Tal acción podrá comprender demostraciones, bloqueos y otras operaciones ejecutadas por fuerzas aéreas, navales o terrestres de Miembros de las Naciones Unidas.

+ +

Artículo 43

+ +
    +
  1. Todos los Miembros de las Naciones Unidas, con e1 fin de contribuir al mantenimiento de la paz y la seguridad internacionales, se compremeten a poner a disposición del Consejo de Seguridad, cuando éste lo solicite, y de conformidad con un convenio especial o con convenios especiales, las fuerzas armadas, la ayuda y las facilidades, incluso el derecho de paso, que sean necesarias para el propósito de mantener la paz y la seguridad internacionales.
  2. +
  3. Dicho convenio o convenios fijarán el número y clase de las fuerzas, su grado de preparación y su ublicación general, como también la naturaleza de las facilidades y de la ayuda que habrán de darse.
  4. +
  5. El convenio o convenios serán negociados a iniciativa del Consejo de Seguridad tan pronto como sea posible; serán concertados entre el Consejo de Seguridad y Miembros individuales o entre el Consejo de Seguridad y grupos de Miembros, y estarán sujetos a ratificación por los Estados signatarios de acuerdo con sus respectivos procedimientos constitucionales.
  6. +
+ +

Artículo 44

+ +

Cuando el Consejo de Seguridad haya decidido hacer uso de la fuerza, antes de requerir a un Miembro que no éste representado en él a que provea fuerzas armadas en cumplimiento de las obligaciones contraídas en virtud del Artículo 43, invitará a dicho Miembro, si éste así lo deseare, a participar en las decisiones del Consejo de Seguridad relativas al empleo de contingentes de fuerzas armadas de dicho Miembro.

+ +

Artículo 45

+ +

A fin de que la Organización pueda tomar medidas militares urgentes, sus Miembros mantendrán contingentes de fuerzas aéreas nacionales inmediatamente disponibles para la ejecución combinada de una acción coercitiva internacional. La potencia y el grado de preparación de estos contingentes y los planes para su acción combinada seran determinados, dentro de los límites establecidos en el convenio o convenios especiales de que trata el Artículo 43, por el Consejo de Seguridad con la ayuda del Comité de Estado Mayor.

+ +

Artículo 46

+ +

Los planes para el empleo de la fuerza armada serán hechos por el Consejo de Seguridad con la ayuda del Comité de Estado Mayor.

+ +

Artículo 47

+ +
    +
  1. Se establecerá un Comité de Estado Mayor para asesorar y asistir al Consejo de Seguridad en todas las cuestiones relativas a las necesidades militares del Consejo para el mantenimiento de la paz y la seguridad internacionales, al empleo y comando de las fuerzas puestas a su disposición, a la regulación de los armamentos y al posible desarme.
  2. +
  3. El Comité de Estado Mayor estará integrado por los Jefes de Estado Mayor de los miembros permanentes del Consejo de Seguridad o sus representantes. Todo Miembro de las Naciones Unidas que no éste permanentemente representado en el Comite será invitado por éste a asociarse a sus labores cuando el desempeño eficiente de las funciones del Comité requiera la participación de dicho Miembro.
  4. +
  5. El Comité de Estado Mayor tendrá a su cargo, bajo la autoridad del Consejo de Seguridad, la dirección estratégica de todas las fuerzas armadas puestas a disposición del Consejo. Las cuestiones relativas al comando de dichas fuerzas serán resueltas posteriormente.
  6. +
  7. El Comite de Estado Mayor, con autorización del Consejo de Seguridad y después de consultar con los organismos regionales apropiados, podrá establecer subcomités regionales.
  8. +
+ +

Artículo 48

+ +
    +
  1. La acción requerida para llevar a cabo las decisiones del Consejo de Seguridad para el mantenimiento de la paz y la seguridad internacionales será ejercida por todos los Miembros de las Naciones Unidas o por algunos de ellos, según lo determine el Consejo de Seguridad.
  2. +
  3. Dichas decisiones serán llevadas a cabo por los Miembros de las Naciones Unidas directamente y mediante su acción en los organismos internacionales apropiados de que formen parte.
  4. +
+ +

Artículo 49

+ +

Los Miembros de las Naciones Unidas deberán prestarse ayuda mutua para llevar a cabo las medidas dispuestas por el Consejo de Seguridad.

+ +

Artículo 50

+ +

Si el Consejo de Seguridad tomare medidas preventivas o coercitivas contra un Estado, cualquier otro Estado, sea o no Miembro de las Naciones Unidas, que confrontare problemas económicos especiales originados por la ejecución de dichas medidas, tendrá el derecho de consultar al Consejo de Seguridad acerca de la solución de esos problemas.

+ +

Artículo 51

+ +

Ninguna disposición de esta Carta menoscabará el derecho inmanente de legítima defensa, individual o colectiva, en caso de ataque armado contra un Miembro de las Naciones Unidas, hasta tanto que el Consejo de Seguridad haya tomado las medidas necesarias para mantener la paz y la seguridad internacionales. Las medidas tomadas por los Miembros en ejercicio del derecho de legítima defensa serán comunicadas inmediatamente al Consejo de Seguridad, y no afectarán en manera alguna la autoridad y responsabilidad del Consejo conforme a la presente Carta para ejercer en cualquier momento la acción que estime necesaria con el fin de mantener o restablecer la paz y la seguridad internacionales.

+ +

Capítulo VIII: Acuerdos regionales

+ +

Artículo 52

+ +
    +
  1. Ninguna disposición de esta Carta se opone a la existencia de acuerdos u organismos regionales cuyo fin sea entender en los asuntos relativos al mantenimiento de la paz y la seguridad internacionales y susceptibles de acción regional, siempre que dichos acuerdos u organismos, y sus actividades, sean compatibles con los Propósitos y Principios de las Naciones Unidas.
  2. +
  3. Los Miembros de las Naciones Unidas que sean partes en dichos acuerdos o que constituyan dichos organismos, harán todos los esfuerzos posibles para lograr el arreglo pacífico de las controversias de caracter local por medio de tales acuerdos u organismos regionales antes de someterlas al Consejo de Seguridad.
  4. +
  5. El Consejo de Seguridad promoverá el desarrollo del arreglo pacífico de las controversias de carácter local por medio de dichos acuerdos u organismos regionales, procediendo, bien a iniciativa de los Estados interesados, bien a instancia del Consejo de Seguridad.
  6. +
  7. Este Artículo no afecta en manera a1guna la aplicación de los Artículos 34 y 35.
  8. +
+ +

Artículo 53

+ +
    +
  1. El Consejo de Seguridad utilizará dichos acuerdos u organismos regionales, si a ello hubiere lugar, para aplicar medidas coercitivas bajo su autoridad. Sin embargo, no se aplicarán medidas coercitivas en virtud de acuerdos regionales o por organismos regionales sin autorización del Consejo de Seguridad, salvo que contra Estados enemigos, según se les define en el párrafo 2 de este Artículo, se tomen las medidas dispuestas en virtud del Artículo 107 o en acuerdos regionales dirigidos contra la renovación de una política de agresión de parte de dichos Estados, hasta tanto que a solicitud de los gobiernos interesados quede a cargo de la Organización la responsabi1idad de prevenir nuevas agresiones de parte de aquellos Estados.
  2. +
  3. El término "Estados enemigos" empleado en el párrafo 1 de este Artículo se aplica a todo Estado que durante la segunda guerra mundial haya sido enemigo de cualquiera de los signatarios de esta Carta.
  4. +
+ +

Artículo 54

+ +

Se deberá mantener en todo tiempo al Consejo de Seguridad plenamente informado de las actividades emprendidas o proyectadas de conformidad con acuerdos regionales o por organismos regionales con el propósito de mantener la paz y la seguridad internacionales.

+ +

Capítulo IX: Cooperación internacional económica y social

+ +

Artículo 55

+ +

Con el propósito de crear las condiciones de estabilidad y bienestar necesarias para las relaciones pacíficas y amistosas entre las naciones, basadas en el respeto al principio de la igualdad de derechos y al de la libre determinación de los pueblos, la Organización promoverá:

+ +
    +
  1. niveles de vida más elevados, trabajo permanente para todos, y condiciones de progreso y desarrollo económico y social;
  2. +
  3. la solución de problemas internacionales de carácter económico, social y sanitario, y de otros problemas conexos; y la cooperación internacional en el orden cultural y educativo; y
  4. +
  5. el respeto universal a los derechos humanos y a las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión, y la efectividad de tales derechos y libertades.
  6. +
+ +

Artículo 56

+ +

Todos los Miembros se comprometen a tomar medidas conjunta o separadamente, en cooperación con la Organización, para la realización de los propósitos consignados en el Artículo 55.

+ +

Artículo 57

+ +
    +
  1. Los distintos organismos especializados establecidos por acuerdos intergubernamentales, que tengan amplias atribuciones internacionales definidas en sus estatutos, y relativas a materias de carácter económico, social, cultural, educativo, sanitario, y otras conexas, serán vinculados con la Organización de acuerdo con las disposiciones del Artículo 63.
  2. +
  3. Tales organismos especializados así vinculados con la Organización se denominarán en adelante "los organismos especializados".
  4. +
+ +

Artículo 58

+ +

La Organización hará recomendaciones con el objeto de coordinar las normas de acción y las actividades de los organismos especializados.

+ +

Artículo 59

+ +

La Organización iniciará, cuando hubiere lugar, negociaciones entre los Estados interesados para crear los nuevos organismos especializados que fueren necesarios para la realización de los propósitos enunciados en el Artículo 55.

+ +

Artículo 60

+ +

La responsabilidad por el desempeño de las funciones de la Organización señaladas en este Capítulo corresponderá a la Asamblea General y, bajo la autoridad de ésta, al Consejo Económico y Social, que dispondrá a este efecto de las facultades expresadas en el Capítulo X.

+ +

Capítulo X: El Consejo Económico y Social

+ +

COMPOSICIÓN

+ +

Artículo 61

+ +
    +
  1. El Consejo Económico y Social estará integrado por cincuenta y cuatro Miembros de las Naciones Unidas elegidos por la Asamblea General.
  2. +
  3. Salvo lo prescrito en el párrafo 3, dieciocho miembros del Consejo Económico y Social serán elegidos cada año por un periodo de tres años. Los miembros salientes serán reelegibles para el periodo subsiguiente.
  4. +
  5. En la primera elección que se celebre después de haberse aumentado de veintisiete a cincuenta y cuatro el número de miembros del Consejo Económico y Social, además de los miembros que se elijan para sustituir a los nueve miembros cuyo mandato expire al final de ese año, se elegirán veintisiete miembros más. El mandato de nueve de estos veintisiete miembros adicionales asi elegidos expirara al cabo de un año y el de otros nueve miembros una vez transcurridos dos años, conforme a las disposiciones que dicte la Asamblea General.
  6. +
  7. Cada miembro del Consejo Económico y Social tendrá un representante.
  8. +
+ +

FUNCIONES y PODERES

+ +

Artículo 62

+ +
    +
  1. El Consejo Econó:mico y Social podrá hacer o iniciar estudios e informes con respecto a asuntos internacionales de carár económico, social, cultural, educativo y sanitario, y otros asuntos conexos, y hacer recomendaciones sobre tales asuntos a la Asamblea General, a los Miembros de las Naciones Unidas y a los organismos especializados interados.
  2. +
  3. El Consejo Económico y Social podrá hacer recomendaciones con el objeto de promover el respeto a los derechos humanos y a las libertades fundamentales de todos, y la efectividad de tales derechos y libertades.
  4. +
  5. El Consejo Económico y Social podrá formular proyectos de convención con respecto a cuestiones de su competencia para someterlos a la Asamblea General.
  6. +
  7. El Consejo Económico y Social podrá convocar, conforme a las reglas que prescriba la Organización, conferencias internacionales sobre asuntos de su competencia.
  8. +
+ +

Artículo 63

+ +
    +
  1. El Consejo Económico y Social podrá concertar con cualquiera de los organismos especializados de que trata el Artículo 57, acuerdos por medio de los cuales se establezcan las condiciones en que dichos organismos habrán de vincularse con la Organización. Tales acuerdos estarán sujetos a la aprobación de la Asamblea General.
  2. +
  3. El Consejo Económico y Social podrá coordinar las actividades de los organismos especializados mediante consultas con ellos y haciéndoles recomendaciones, como también mediante recomendaciones a la Asamblea General y a los Miembros de las Naciones Unidas.
  4. +
+ +

Artículo 64

+ +
    +
  1. El Consejo Económico y Social podrá tomar las medidas apropiadas para obtener informes periódicos de los organismos especializados. También podrá hacer arreglos con los Miembros de las Naciones Unidas y con los organismos especializados para obtener informes con respecto a los medidas tomadas para hacer efectivas sus propias recomendaciones y las que haga la Asamblea General acerca de materias de la competencia del Consejo.
  2. +
  3. El Consejo Económico y Social podrá comunicar a la Asamblea General sus observaciones sobre dichos informes.
  4. +
+ +

Artículo 65

+ +

El Consejo Económico y Social podrá suministrar información a1 Consejo de Seguridad y deberá darle la ayuda que éste le solicite.

+ +

Artículo 66

+ +
    +
  1. El Consejo Económico y Social desempeñará las funciones que caigan dentro de su competencia en relación con el cumplimiento de las recomendaciones de la Asamblea General.
  2. +
  3. El Consejo Económico y Social podrá prestar, con aprobación de la Asamblea General, los servicios que le soliciten los Miembros de las Naciones Unidas y los organismos especializados.
  4. +
  5. El Consejo Económico y Social desempeñará las demás funciones prescritas en otras partes de esta Carta o que le asignare la Asamblea General.
  6. +
+ +

VOTACIÓN

+ +

Artículo 67

+ +
    +
  1. Cada miembro del Consejo Económico y Social tendrá un voto.
  2. +
  3. Las decisiones del Consejo Económico y Social se tomarán por la mayoría de los miembros presentes y votantes.
  4. +
+ +

PROCEDIMIENTO

+ +

Artículo 68

+ +

El Consejo Económico y Social establecerá comisiones de orden económico y social y para la promoción de los derechos humanos, así como las demás comisiones necesarias para el desempeño de sus funciones.

+ +

Artículo 69

+ +

El Consejo Económico y Social invitará a cualquier Miembro de las Naciones Unidas a participar, sin derecho a voto, en sus deliberaciones sobre cualquier asunto de particular interés para dicho Miembro.

+ +

Artículo 70

+ +

El Consejo Económico y Social podrá hacer arreglos para que representantes de los organismos especializados participen, sin derecho a voto, en sus deliberaciones y en las de las comisiones que establezca, y para que sus propios representantes participen en las deliberaciones de aquellos organismos.

+ +

Artículo 71

+ +

El Consejo Económico y Social podrá hacer arreglos adecuados para celebrar consultas con organizaciones no gubernamentales que se ocupen en asuntos de la competencia del Consejo. Podrán hacerse dichos arreglos con organizaciones internacionales y, si a ello hubiere lugar, con organizaciones nacionales, previa consulta con el respectivo Miembro de las Naciones Unidas.

+ +

Artículo 72

+ +
    +
  1. El Consejo Económico y Social dictará su propio reglamento, el cual establecerá el método de elegir su Presidente.
  2. +
  3. El Consejo Económico y Social se reunirá cuando sea necesario de acuerdo con su reglamento, el cual incluirá disposiciones para la convocación a sesiones cuando lo solicite una mayoría de sus miembros.
  4. +
+ +

Capítulo XI: Declaración relativa a territorios no autónomos

+ +

Artículo 73

+ +

Los Miembros de las Naciones Unidas que tengan o asuman la responsabilidad de administrar territorios cuyos pueblos no hayan alcanzado todavía la plenitud del gobierno propio, reconocen el principio de que los intereses de los habitantes de esos territorios están por encima de todo, aceptan como un encargo sagrado la obligación de promover en todo lo posible, dentro del sistema de paz y de seguridad internacionales establecido por esta Carta, el bienestar de los habitantes de esos territorios, y asimismo se obligan:

+ +
    +
  1. a asegurar, con el debido respeto a la cultura de los pueblos respectivos, su adelanto político, económico, social y educativo, el justo tratamiento de dichos pueblos y su protección contra todo abuso;
  2. +
  3. a desarrollar el gobierno propio, a tener debidamente en cuenta las aspiraciones políticas de los pueblos, y a ayudarlos en el desenvolvimiento progresivo de sus libres instituciones políticas, de acuerdo con las circunstancias especiales de cada territorio, de sus pueblos y de sus distintos grados de adelanto;
  4. +
  5. a promover la paz y la seguridad internacionales;
  6. +
  7. a promover medidas constructivas de desarrollo, estimular la investigación, y cooperar unos con otros y, cuando y donde fuere del caso, con organismos internacionales especializados, para conseguir la realización práctica de los propósitos de carácter social, económico y científico expresados en este Artículo; y
  8. +
  9. a transmitir regularmente al Secretario General, a título informativo y dentro de los límites que la seguridad y consideraciones de orden constitucional requieran, la información estadística y de cualquier otra naturaleza técnica que verse sobre las condiciones económicas, sociales y educativas de los territorios por los cuales son respectivamente responsables, que no sean de los territorios a que se refieren los Capítulos XII y XIII de esta Carta.
  10. +
+ +

Artículo 74

+ +

Los Miembros de las Naciones Unidas convienen igualmente en que su política con respecto a los territorios a que se refiere este Capitulo, no menos que con respecto a sus territorios metropolitanos, debera fundarse en el principio general de la buena vecindad, teniendo debidamente en cuenta los intereses y el bienestar del resto del mundo en cuestiones de carácter social, económico y comercial.

+ +

Capítulo XII: Régimen internacional de administración fiduciaria

+ +

Artículo 75

+ +

La Organización establecerá bajo su autoridad un régimen internacional de administración fiduciaria para la administración y vigilancia de los territorios que puedan colocarse bajo dicho régimen en virtud de acuerdos especiales posteriores. A dichos territorios se les denominará territorios fideicometidos.

+ +

Artículo 76

+ +

Los objetivos básicos del régimen de administración fiduciaria, de acuerdo con los Propósitos de las Naciones Unidas enunciados en el Artículo 1 de esta Carta, serán:

+ +
    +
  1. fomentar la paz y la seguridad internacionales;
  2. +
  3. promover el adelanto político, económico, social y educativo de los habitantes de los territorios fideicometidos, y su desarrollo progresivo hacia el gobierno propio o la independencia, teniéndose en cuenta las circunstancias particulares de cada territorio y de sus pueblos y los deseos libremente expresados de los pueblos interesados, y según se dispusiere en cada acuerdo sobre administración fiduciaria;
  4. +
  5. promover el respeto a los derechos humanos y a las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión, así como el reconocimiento de la interdependencia de los pueblos del mundo; y
  6. +
  7. asegurar tratamiento igual para todos los Miembros de las Naciones Unidas y sus nacionales en materias de carácter social, económico y comercial, así como tratamiento igual para dichos nacionales en la administración de la justicia, sin perjuicio de la realización de los objetivos arriba expuestos y con sujeción a las disposiciones del Artículo 80.
  8. +
+ +

Artículo 77

+ +
    +
  1. El régimen de administración fiduciaria se aplicará a los territorios de las siguientes categorías que se colocaren bajo dicho régimen por medio de los correspondientes acuerdos: +
      +
    1. territorios actualmente bajo mandato;
    2. +
    3. territorios que, como resultado de la segunda guerra mundial, fueren segregados de Estados enemigos, y
    4. +
    5. territorios voluntariamente colocados bajo este régimen por los Estados responsables de su administración.
    6. +
    +
  2. +
  3. Será objeto de acuerdo posterior el determinar cuáles territorios de las categorías anteriormente mencionadas seran colocados bajo el régimen de administración fiduciaria y en qué condiciones.
  4. +
+ +

Artículo 78

+ +

El régimen de administración fiduciaria no se aplicará a territorios que hayan adquirido la calidad de Miembros de las Naciones Unidas, cuyas relaciones entre sí se basarán en el respeto al principio de la igualdad soberana.

+ +

Artículo 79

+ +

Los términos de la administración fiduciaria para cada territorio que haya de colocarse bajo el régimen expresado, y cualquier modificación o reforma, deberán ser acordados por los Estados directamente interesados, incluso la potencia mandataria en el caso de territorios bajo mandato de un Miembro de las Naciones Unidas, y serán aprobados según se dispone en los Artículos 83 y 85.

+ +

Artículo 80

+ +
    +
  1. Salvo lo que se conviniere en los acuerdos especiales sobre administración fiduciaria concertados de conformidad con los Artículos 77, 79 y 81 y mediante los cuales se coloque cada territorio bajo el régimen de administración fiduciaria, y hasta tanto se coIlcierten tales acuerdos, ninguna disposición de este Capítulo será interpretada en el sentido de que modifica en manera alguna los derechos de cualesquiera Estados o pueblos, o los términos de los instrumentos internacionales vigentes en que sean partes Miembros de los Naciones Unidas.
  2. +
  3. El párrafo 1 de este Artículo no será interpretado en el sentido de que da motivo para demorar o diferir la negociación y celebración de acuerdos para aplicar el régimen de administración fiduciaria a territorios bajo mandato y otros territorios, conforme al Artículo 77.
  4. +
+ +

Artículo 81

+ +

El acuerdo sobre administración fiduciaria contendrá en cada caso las condiciones en que se administrará el territorio fideicometido, y designará la autoridad que ha de ejercer la administración. Dicha autoridad, que en lo sucesivo se denominará la "autoridad administradora", podrá ser uno o más Estados o la misma Organización.

+ +

Artículo 82

+ +

Podrán designarse en cualquier acuerdo sobre administración fiduciaria, una o varias zonas estratégicas que comprendan parte o la totalidad del territorio fideicometido a que se refiera el acuerdo, sin perjuicio de los acuerdos especiales celebrados con arreglo al Artículo 43.

+ +

Artículo 83

+ +
    +
  1. Todas las funciones de las Naciones Unidas relativas a zonas estratégicas, incluso la de aprobar los términos de los acuerdos sobre administración fiduciaria y de las modificaciones o reformas de los mismos, serán ejercidas por el Consejo de Seguridad.
  2. +
  3. Los objetivos básicos enunciados en el Artículo 76 serán aplicables a la población de cada zona estratégica.
  4. +
  5. Salvo las disposiciones de los acuerdos sobre administración fiduciaria y sin perjuicio de las exigencias de la seguridad, el Consejo de Seguridad aprovechará la ayuda del Consejo de Administración Fiduciaria para desempeñar, en las zonas estratégicas, aquellas funciones de la Organización relativas a materias políticas, económicas, sociales y educativas que correspondan al régimen de administración fiduciaria.
  6. +
+ +

Artículo 84

+ +

La autoridad administradora tendrá el deber de velar por que el territorio fideicometido contribuya al mantenimiento de la paz y la seguridad internacionales. Con tal fin, la autoridad administradora podrá hacer uso de las fuerzas voluntarias, de las facilidades y de la ayuda del citado territorio, a efecto de cumplir con las obligaciones por ella contraídas a este respecto ante el Consejo de Seguridad, como también para la defensa local y el mantenimiento de la ley y del orden dentro del territorio fideicometido.

+ +

Artículo 85

+ +
    +
  1. Las funciones de la Organización en lo que respecta a los acuerdos sobre administración fiduciaria relativos a todas las zonas no designadas como estratégicas, incluso la de aprobar los términos de los acuerdos y las modificaciones o reformas de los mismos serán ejercidas por la Asamblea General.
  2. +
  3. El Consejo de Administración Fiduciaria, bajo la autoridad de la Asamblea General, ayudará a ésta en el desempeño de las funciones aquí enumeradas.
  4. +
+ +

Capítulo XIII: El Consejo de Administración Fiduciaria

+ +

COMPOSICIÓN

+ +

Artículo 86

+ +
    +
  1. El Consejo de Administración Fiduciaria estará integrado por los siguientes Miembros de las Naciones Unidas: +
      +
    1. los Miembros que administren territorios fideicometidos;
    2. +
    3. los Miembros mencionados por su nombre en el Artículo 23 que no estén administrando territorios fideicometidos; y
    4. +
    5. tantos otros Miembros elegidos por periodos de tres años por la Asamblea General cuantos sean necesarios para asegurar que el número total de miembros del Consejo de Administración Fiduciaria se divida por igual entre los Miembros de las Naciones Unidas administradores de tales territorios y los no administradores.
    6. +
    +
  2. +
  3. Cada miembro del Consejo de Administración Fiduciaria designará a una persona especialmente calificada para que lo represente en el Consejo.
  4. +
+ +

FUNCIONES Y PODERES

+ +

Artículo 87

+ +

En el desempeño de sus funciones, la Asamblea General y, bajo su autoridad, el Consejo de Administración Fiduciaria, podrán:

+ +
    +
  1. considerar informes que les haya rendido la autoridad administradora;
  2. +
  3. aceptar peticiones y examinarlas en consulta con la autoridad administradora;
  4. +
  5. disponer visitas periódicas a los territorios fideicometidos en fechas convenidas con la autoridad administradora; y
  6. +
  7. tomar estas y otras medidas de conformidad con los términos de los acuerdos sobre administración fiduciaria.
  8. +
+ +

Artículo 88

+ +

El Consejo de Administración Fiduciaria formulará un cuestionario sobre el adelanto político, económico, social y educativo de los habitantes de cada territorio fideicometido; y la autoridad administradora de cada territorio fideicometido dentro de la competencia de la Asamblea General, rendirá a ésta un informe anual sobre 1a base de dicho cuestionario.

+ +

VOTACIÓN

+ +

Artículo 89

+ +
    +
  1. Cada miembro del Consejo de Administración Fiduciaria tendra un voto.
  2. +
  3. Las decisiones del Consejo de Administración Fiduciaria serán tomadas por el voto de la mayoría de los miembros presentes y votantes.
  4. +
+ +

PROCEDIMIENTO

+ +

Artículo 90

+ +
    +
  1. El Consejo de Administración Fiduciaria dictará su propio reglamento, el cual establecerá el método de elegir su Presidente.
  2. +
  3. El Consejo de Administración Fiduciaria se reunirá cuando sea necesario, según su reglamento. Este contendrá disposiciones sobre convocación del Consejo a solicitud de la mayoría de sus miembros.
  4. +
+ +

Artículo 91

+ +

El Consejo de Administración Fiduciaria, cuando lo estime conveniente, se valdrá de la ayuda del Consejo Económico y Social y de la de los organismos especializados con respecto a los asuntos de la respectiva competencia de los mismos.

+ +

Capítulo XIV: La Corte Internacional de Justicia

+ +

Artículo 92

+ +

La Corte Internacional de Justicia será el órgano judicial principal de las Naciones Unidas; funcionará de conformidad con el Estatuto anexo, que está basado en el de la Corte Permanente de Justicia Internacional, y que forma parte integrante de esta Carta.

+ +

Artículo 93

+ +
    +
  1. Todos los Miembros de las Naciones Unidas son ipso facto partes en el Estatuto de la Corte Internacional de Justicia.
  2. +
  3. Un Estado que no sea Miembro de las Naciones Unidas podrá llegar a ser parte en el Estatuto de la Corte Internacional de Justicia, de acuerdo con las condiciones que determine en cada caso la Asamblea General a recomendación del Consejo de Seguridad.
  4. +
+ +

Artículo 94

+ +
    +
  1. Cada Miembro de las Naciones Unidas compromete a cumplir la decisión de la Corte Internacional de Justicia en todo litigio en que sea parte.
  2. +
  3. Si una de las partes en un litigio dejare de cumplir las obligaciones que le imponga un fallo de la Corte, la otra parte podrá recurrir al Consejo de Seguridad, el cual podrá, si lo cree necesario, hacer recomendaciones o dictar medidas con el objeto de que se lleve a efecto la ejecución del fallo.
  4. +
+ +

Artículo 95

+ +

Ninguna de las disposiciones de esta Carta impedirá a los Miembros de las Naciones Unidas encomendar la solución de sus diferencias a otros tribunales en virtud de acuerdos ya existentes o que puedan concertarse en el futuro.

+ +

Artículo 96

+ +
    +
  1. La Asamblea General o el Consejo de Seguridad podrán solicitar de la Corte Internacional de Justicia que emita una opinión consultiva sobre cualquier cuestión jurídica.
  2. +
  3. Los otros órganos de las Naciones Unidas y los organismos especializados que en cualquier momento sean autorizados para ello por la Asamblea General, podrán igualmente solicitar de la Corte opiniones consultivas sobre cuestiones jurídicas que surjan dentro de la esfera de sus actividades.
  4. +
+ +

Capítulo XV: La Secretaría

+ +

Artículo 97

+ +

La Secretaría se compondrá de un Secretario General y del personal que requiera la Organización. El Secretario General será nombrado por la Asamblea General a recomendación del Consejo de Seguridad. El Secretario General sera el más alto funcionario administrativo de la Organización.

+ +

Artículo 98

+ +

El Secretario General actuará como tal en todas las sesiones de la Asamblea General, del Consejo de Seguridad, del Consejo Económico y Social y del Consejo de Administración Fiduciaria, y desempeñara las demas funciones que le encomienden dichos órganos. El Secretario General rendirá a la Asamblea General un informe anual sobre las actividades de la Organización.

+ +

Artículo 99

+ +

El Secretario General podrá llamar la atención del Consejo de Seguridad hacia cualquier asunto que en su opinión pueda poner en peligro el mantenimiento de la paz y la seguridad internacionales.

+ +

Artículo 100

+ +
    +
  1. En el cumplimiento de sus deberes, el Secretario General y el personal de la Secretaría no solicitarán ni recibirán instrucciones de ningún gobierno ni de ninguna autoridad ajena a la Organización, y se abstendrán de actuar en forma alguna que sea incompatible con su condición de funcionarios internacionales responsables únicamente ante la Organización.
  2. +
  3. Cada uno de los Miembros de las Naciones Unidas se compromete a respetar el carácter exclusivamente internacional de las funciones del Secretario General y del personal de la Secretaría, y a no tratar de influir sobre ellos en el desempeño de sus funciones.
  4. +
+ +

Artículo 101

+ +
    +
  1. El personal de la Secretaría será nombrado por el Secretario General de acuerdo con las reglas establecidas por la Asamblea General.
  2. +
  3. Se asignará permanentemente personal adecuado al Consejo Económico y Social, al Consejo de Administración Fiduciaria y, según se requiera, a otros órganos de las Naciones Unidas. Este personal formará parte de la Secretaría.
  4. +
  5. La consideración primordial que se tendrá en cuenta al nombrar el personal de la Secretaría y al determinar las condiciones del servicio, es la necesidad de asegurar el más alto grado de eficiencia, competencia e integridad. Se dará debida consideración también a la importancia de contratar el personal en forma de que haya la más amplia representación geográfica posible.
  6. +
+ +

Capítulo XVI: Disposiciones varias

+ +

Artículo 102

+ +
    +
  1. Todo tratado y todo acuerdo internacional concertados por cualesquiera Miembros de las Naciones Unidas después de entrar en vigor esta Carta, serán registrados en la Secretaría y publicados por ésta a la mayor brevedad posible.
  2. +
  3. Ninguna de las partes en un tratado o acuerdo internacional que no haya sido registrado conforme a las disposiciones del párrafo 1 de este Artículo, podrá invocar dicho tratado o acuerdo ante órgano alguno de las Naciones Unidas.
  4. +
+ +

Artículo 103

+ +

En caso de conflicto entre las obligaciones contraídas por los Miembros de las Naciones Unidas en virtud de la presente Carta y sus obligaciones contraídas en virtud de cualquier otro convenio internacional, prevalecerán las obligaciones impuestas por la presente Carta.

+ +

Artículo 104

+ +

La Organización gozará, en el territorio de cada uno de sus Miembros, de la capacidad jurídica que sea necesaria para el ejercicio de sus funciones y la realización de sus propósitos.

+ +

Artículo 105

+ +
    +
  1. La Organización gozará, en el territorio de cada uno de sus Miembros, de los privilegios e inmunidades necesarios para la realización de sus propósitos.
  2. +
  3. Los representantes de los Miembros de la Organización y los funcionarios de ésta, gozarán asimismo de los privilegios e inmunidades necesarios para desempeñar con independencia sus funciones en relación con la Organización.
  4. +
  5. La Asamblea General podrá hacer recomendaciones con el objeto de determinar los pormenores de la aplicación de los párrafos 1 y 2 de este Artículo, o proponer convenciones a los Miembros de las Naciones Unidas con el mismo objeto.
  6. +
+ +

Capítulo XVII: Acuerdos transitorios sobre seguridad

+ +

Artículo 106

+ +

Mientras entran en vigor los convenios especiales previstos en el Artículo 43, que a juicio del Consejo de Seguridad lo capaciten para ejercer las atribuciones a que se refiere el Artículo 42, las partes en la Declaración de las Cuatro Potencias firmada en Moscú el 30 de octubre de 1943, y Francia, deberán, conforme a las disposiciones del párrafo 5 de esa Declaración, celebrar consultas entre sí, y cuando a ello hubiere lugar, con otros miembros de la Organización, a fin de acordar en nombre de ésta la acción conjunta que fuere necesaria para mantener la paz y la seguridad internacionales.

+ +

Artículo 107

+ +

Ninguna de las disposiciones de esta Carta invalidará o impedirá cualquier acción ejercida o autorizada como resultado de la segunda guerra mundial con respecto a un Estado enemigo de cualquiera de los signatarios de esta Carta durante la citada guerra, por los gobiernos responsables de dicha acción.

+ +

Capítulo XVIII: Reformas

+ +

Artículo 108

+ +

Las reformas a la presente Carta entrarán en vigor para todos los Miembros de las Naciones Unidas cuando hayan sido adoptadas por el voto de las dos terceras partes de los miembros de la Asamblea General y ratificadas, de conformidad con sus respectivos procedimientos constitucionales, por las dos terceras partes de los Miembros de las Naciones Unidas, incluyendo a todos los miembros permanentes del Consejo de Seguridad.

+ +

Artículo 109

+ +
    +
  1. Se podrá celebrar una Conferencia General de los Miembros de las Naciones Unidas con el propósito de revisar esta Carta, en la fecha y lugar que se determinen por el voto de las dos terceras partes de los miembros de la Asamblea General y por el voto de cualesquiera nueve miembros del Consejo de Seguridad. Cada Miembro de las Naciones Unidas tendrá un voto en la Conferencia.
  2. +
  3. Toda modificación de esta Carta recomendada por el voto de las dos terceras partes de la Conferencia entrará en vigor al ser ratificada de acuerdo con sus respectivos procedimientos constitucionales, por las dos terceras partes de los Miembros de las Naciones Unidas, incluyendo a todos los miembros permanentes del Consejo de Seguridad.
  4. +
  5. Si no se hubiere celebrado tal Conferencia antes de la décima reunión anual de la Asamblea General despues de entrar en vigor esta Carta, la proposición de convocar tal Conferencia será puesta en la agenda de dicha reunión de la Asamblea General, y la Conferencia será celebrada si así lo decidieren la mayoría de los miembros de la Asamblea General y siete miembros cualesquiera del Consejo de Seguridad.
  6. +
+ +

Capítulo XIX: Ratificación y firma

+ +

Artículo 110

+ +
    +
  1. La presente Carta será ratificada por los Estados signatorios de acuerdo con sus respectivos procedimientos constitucionales.
  2. +
  3. Las ratificaciones serán entregadas para su depósito al Gobierno de los Estados Unidos de América, el cual notificará cada depósito a todos los Estados signatarios así como al Secretario General de la Organización cuando haya sido designado.
  4. +
  5. La presente Carta entrará en vigor tan pronto como hayan sido depositadas las ratificaciones de la República de China, Francia, la Unión de las Repúblicas Socialistas Soviéticas, el Reino Unido de la Gran Bretaña e Irlanda del Norte y los Estados Unidos de América, y por la mayoría de los demás Estados signatarios. Acto seguido se dejará constancia de las ratificaciones depositadas en un protocolo que extenderá el Gobierno de los Estados Unidos de América, y del cual transmitirá copias a todos los Estados signatarios.
  6. +
  7. Los Estados signatarios de esta Carta que la ratifiquen después que haya entrado en vigor adquirirán la calidad de miembros originarios de las Naciones Unidas en la fecha del depósito de sus respectivas ratificaciones.
  8. +
+ +

Artículo 111

+ +

La presente Carta, cuyos textos en chino, francés, ruso, inglés y español son igualmente auténticos, será depositada en los archivos del Gobierno de los Estados Unidos de América. Dicho Gobierno enviará copias debidamente certificadas de la misma a los Gobiernos de los demás Estados signatarios.

+ +

En fe de lo cual los Representantes de los Gobiernos de las Naciones Unidas han suscrito esta Carta. Firmada en la ciudad de San Francisco, a los veintiséis días del mes de junio de mil novecientos cuarenta y cinco.

+
+
+
+ + + +
+ +
+
+ +
+
+
+ + +
+
+ + + +
+
+ + +
+ + + + + + + + + + + +
+ + + + + + + + + +
\ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_ES.txt b/stdlib/benchmarks/collections/data/UN_charter_ES.txt new file mode 100644 index 0000000000..98337dec21 --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_ES.txt @@ -0,0 +1,453 @@ +Carta de las Naciones Unidas (texto completo) +Preámbulo +NOSOSTROS LOS PUEBLOS DE LAS NACIONES UNIDAS RESUELTOS +a preservar a las generaciones venideras del flagelo de la guerra que dos veces durante nuestra vida ha infligido a la Humanidad sufrimientos indecibles, + +a reafirmar la fe en los derechos fundamentales del hombre, en la dignidad y el valor de la persona humana, en la igualdad de derechos de hombres y mujeres y de las naciones grandes y pequeñas, + +a crear condiciones bajo las cuales puedan mantenerse la justicia y el respeto a las obligaciones emanadas de los tratados y de otras fuentes del derecho internacional, + +a promover el progreso social y a elevar el nivel de vida dentro de un concepto más amplio de la libertad, + +Y CON TALES FINALIDADES +a practicar la tolerancia y a convivir en paz como buenos vecinos, + +a unir nuestras fuerzas para el mantenimiento de la paz y la seguridad internacionales, + +a asegurar, mediante la aceptación de principios y la adopción de métodos, que no se usará; la fuerza armada sino en servicio del interés común, y + +a emplear un mecanismo internacional para promover el progreso económico y social de todos los pueblos, + +HEMOS DECIDIDO UNIR NUESTROS ESFUERZOS PARA REALIZAR DESIGNIOS. +Por lo tanto, nuestros respectivos Gobiernos, por medio de representantes reunidos en la ciudad de San Francisco que han exhibido sus plenos poderes, encontrados en buena y debida forma, han convenido en la presente Carta de las Naciones Unidas, y por este acto establecen una organización internacional que se denominará las Naciones Unidas. + +Capítulo I: Propósitos y principios +Artículo 1 +Los propósitos de las Naciones Unidas son: + +Mantener la paz y la seguridad internacionales, y con tal fin: tomar medidas colectivas eficaces para prevenir y eliminar amenazas a la paz, y para suprimir actos de agresión u otros quebrantamientos de la paz; y lograr por medios pacíficos, y de conformidad con los principios de la justicia y del derecho internacional, el ajuste o arreglo de controversias o situaciones internacionales susceptibles de conducir a quebrantamientos de la paz; +Fomentar entre las naciones relaciones de amistad basadas en el respeto al principio de la igualdad de derechos y al de la libre determinación de los pueblos, y tomar otros medidas adecuadas para fortalecer la paz universal; +Realizar la cooperación internacional en la solución de problemas internacionales de carácter económico, social, cultural o humanitario, y en el desarrollo y estímulo del respeto a los derechos humanos y a las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión; y +Servir de centro que armonice los esfuerzos de las naciones por alcanzar estos propósitos comunes. +Artículo 2 +Para la realización de los Propósitos consignados en el Artículo 1, la Organización y sus Miembros procederán de acuerdo con los siguientes Principios: + +La Organización esta basada en el principio de la igualdad soberana de todos sus Miembros. +Los Miembros de la Organización, a fin de asegurarse los derechos y beneficios inherentes a su condición de tales, cumplirán de buena fe las obligaciones contraidas por ellos de conformidad con esta Carta. +Los Miembros de la Organización arreglarán sus controversias internacionales por medios pacificos de tal manera que no se pongan en peligro ni la paz y la seguridad internacionales ni la justicia. +Los Miembros de la Organización, en sus relaciones internacionales, se abstendrán de recurrir a la amenaza o al uso de la fuerza contra la integridad territorial o la independencia política de cualquier Estado, o en cualquier otra forma incompatible con los Propósitos de las Naciones Unidas. +Los Miembros de la Organización prestaron a ésta toda clase de ayuda en cualquier acción que ejerza de conformidad con esta Carta, y se abstendrán de dar ayuda a Estado alguno contra el cual la Organización estuviere ejerciendo acción preventiva o coercitiva. +La Organización hará que los Estados que no son Miembros de las Naciones Unidas se conduzcan de acuerdo con estos Principios en la medida que sea necesaria para mantener la paz y la seguridad internacionales. +Ninguna disposición de esta Carta autorizará a las Naciones Unidas a intervenir en los asuntos que son esencialmente de la jurisdicción interna de los Estados, ni obligará; a los Miembros a someter dichos asuntos a procedimientos de arreglo conforme a la presente Carta; pero este principio no se opone a la aplicación de las medidas coercitivas prescritas en el Capítulo VII. +Capítulo II: Miembros +Artículo 3 +Son Miembros originarios de las Naciones Unidas los Estados que habiendo participado en la Conferencia de las Naciones Unidas sobre Organización Internacional celebrada en San Francisco, o que habiendo firmado previamente la Declaración de las Naciones Unidas de 1 de enero de 1942, suscriban esta Carta y la ratifiquen de conformidad con el Artículo 110. + +Artículo 4 +Podrán ser Miembros de las Naciones Unidas todos los demás Estados amantes de la paz que acepten las obligaciones consignadas en esta Carta, y que, a juicio de la Organización, estén capacitados para cumplir dichas obligaciones y se hallen dispuestos a hacerlo. +La admisión de tales Estados como Miembros de las Naciones Unidas se efectuará por decisión de la Asamblea General a recomendación del Consejo de Seguridad. +Artículo 5 +Todo Miembro de las Naciones Unidas que haya sido objeto de acción preventiva o coercitiva por parte del Consejo de Seguridad podrá ser suspendido por la Asamblea General, a recomendación del Consejo de Seguridad, del ejercicio de los derechos y privilegios inherentes a su calidad de Miembro. El ejercicio de tales derechos y privilegios podrá ser restituido por el Consejo de Seguridad. + +Artículo 6 +Todo Miembro de las Naciones Unidas que haya violado repetidamente los Principios contenidos en esta Carta podrá ser expulsado de la Organización por la Asamblea General a recomendación del Consejo de Seguridad. + +Capítulo III: Órganos +Artículo 7 +Se establecen como órganos principales de las Naciones Unidas: una Asamblea General, un Consejo de Seguridad, un Consejo Económico y Social, un Consejo de Administración Fiduciaria, una Corte Internacional de Justicia, una Secretaría. +Se podrán establecer, de acuerdo con las disposiciones de la presente Carta, los órganos subsidiarios que se estimen necesarios. +Artículo 8 +La Organización no establecerá restricciones en cuanto a la elegibilidad de hombres y mujeres para participar en condiciones de igualdad y en cualquier caracter en las funciones de sus órganos principales y subsidiarios. + +Capítulo IV: La Asamblea General +COMPOSICIÓN +Artículo 9 +La Asamblea General estará integrada por todos los Miembros de las Naciones Unidas. +Ningun Miembro podrá tener más de cinco representantes en la Asamblea General. +FUNCIONES y PODERES +Artículo 10 +La Asamblea General podrá discutir cualesquier asuntos o cuestiones dentro de los límites de esta Carta o que se refieran a los poderes y funciones de cualquiera de los órganos creados por esta Carta, y salvo lo dispuesto en el Artículo 12 podrá hacer recomendaciones sobre tales asuntos o cuestiones a los Miembros de las Naciones Unidas o al Consejo de Seguridad o a éste y a aquéllos. + +Artículo 11 +La Asamblea General podrá considerar los principios generales de la cooperación en el mantenimiento de la paz y la seguridad internacionales, incluso los principios que rigen el desarme y la regulación de los armamentos, y podrá tambien hacer recomendaciones respecto de tales principios a los Miembros o al Consejo de Seguridad o a éste y a aquéllos. +La Asamblea General podrá discutir toda cuestión relativa al mantenimiento de la paz y la seguridad internacionales que presente a su consideración cualquier Miembro de las Naciones Unidas o el Consejo de Seguridad, o que un Estado que no es Miembro de las Naciones Unidas presente de conformidad con el Artículo 35, párrafo 2, y salvo lo dispuesto en el Artículo 12, podrá hacer recomendaciones acerca de tales cuestiones al Estado o Estados interesados o al Consejo de Seguridad o a éste y a aquéllos. Toda cuestión de esta naturaleza con respecto a la cual se requiera acción será referida al Consejo de Seguridad por la Asamblea General antes o después de discutirla. +La Asamblea General podrá llamar la atención del Consejo de Seguridad hacia situaciones susceptibles de poner en peligro la paz y la seguridad internacionales. +Los poderes de la Asamblea General enumerados en este Artículo no limitarán el alcance general del Artículo 10. +Artículo 12 +Mientras el Consejo de Seguridad esté desempeñando las funciones que le asigna esta Carta con respecto a una controversia o situación, la Asamblea General no hará recomendación alguna sobre tal controversia o situación, a no ser que lo solicite el Consejo de Seguridad. +El Secretario General, con el consentimiento del Consejo de Seguridad, informará a la Asamblea General, en cada periodo de sesiones, sobre todo asunto relativo al mantenimiento de la paz y la seguridad internacionales que estuviere tratando el Consejo de Seguridad, e informará asimismo a la Asamblea General, o a los Miembros de las Naciones Unidas si la Asamblea no estuviere reunida, tan pronto como el Consejo de Seguridad cese de tratar dichos asuntos. +Artículo 13 +La Asamblea General promoverá estudios y hará recomendaciones para los fines siguientes: +fomentar la cooperación internacional en el campo político e impulsar el desarrollo progresivo del derecho internacional y su codificación; +fomentar la cooperación internacional en materias de carácter económico, social, cultural, educativo y sanitario y ayudar a hacer efectivos los derechos humanos y las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión. +Los demás poderes, responsabilidades y funciones de la Asamblea General con relación a los asuntos que se mencionan en el inciso b del párrafo 1 precedente quedan enumerados en los Capítulos IX y X. +Artículo 14 +Salvo lo dispuesto en el Artículo 12, la Asamblea General podrá recomendar medidas para el arreglo pacífico de cualesquiera situaciones, sea cual fuere su origen, que a juicio de la Asamblea puedan perjudicar el bienestar general o las relaciones amistosas entre naciones, incluso las situaciones resultantes de una violación de las disposiciones de esta Carta que enuncian los Propósitos y Principios de las Naciones Unidas. + +Artículo 15 +La Asamblea General recibirá y considerará informes anuales y especiales del Consejo de Seguridad. Estos informes comprenderán una relación de las medidas que el Consejo de Seguridad haya decidido aplicar o haya aplicado para mantener la paz y la seguridad internacionales. +La Asamblea General recibirá y considerará informes de los demás órganos de las Naciones Unidas. +Artículo 16 +La Asamblea General desempeñará, con respecto al régimen internacional de administración fiduciaria, las funciones que se le atribuyen conforme a los Capítulos XII y XIII, incluso la aprobación de los acuerdos de administración fiduciaria de zonas no designadas como estratégicas. + +Artículo 17 +La Asamblea General examinará y aprobará el presupuesto de la Organización. +Los miembros sufragarán los gastos de la Organización en la proporción que determine la Asamblea General. +La Asamblea General considerará y aprobará los arreglos financieros y presupuestarios que se celebren con los organismos especializados de que trata el Artículo 57 y examinará los presupuestos administrativos de tales organismos especializados con el fin de hacer recomendaciones a los organismos correspondientes. +VOTACIÓN +Artículo 18 +Cada Miembro de la Asamblea General tendrá un voto. +Las decisiones de la Asamblea General en cuestiones importantes se tomarán por el voto de una mayoria de dos tercios de los miembros presentes y votantes. Estas cuestiones comprenderán: las recomendaciones relativas al mantenimiento de la paz y la seguridad internacionales, la elección de los miembros no permanentes del Consejo de Seguridad, la elección de los miembros del Consejo Económico y Social, la elección de los miembros del Consejo de Administración Fiduciaria de conformidad con el inciso c, párrafo 1, del Artículo 86, la admisión de nuevos Miembros a las Naciones Unidas, la suspensión de los derechos y privilegios de los Miembros, la expulsión de Miembros, las cuestiones relativas al funcionamiento del régimen de administración fiduciaria y las cuestiones presupuestarias. +Las decisiones sobre otras cuestiones, incluso la determinación de categorías adicionales de cuestiones que deban resolverse por mayoría de dos tercios, se tomarán por la mayoría de los miembros presentes y votantes. +Artículo 19 +El Miembro de las Naciones Unidas que esté en mora en el pago de sus cuotas financieras para los gastos de la Organización, no tendra voto en la Asamblea General cuando la suma adeudada sea igual o superior al total de las cuotas adeudadas por los dos años anteriores completos. La Asamblea General podrá, sin embargo, permitir que dicho Miembro vote si llegare a la conclusión de que la mora se debe a circunstancias ajenas a la voluntad de dicho Miembro. + +PROCEDIMIENTO +Artículo 20 +Las Asamblea General se reunirá anualmente en sesiones ordinarias y, cada vez que las circunstancias lo exijan, en sesiones extraordinarias. El Secretario General convocará a sesiones extraordinarias a solicitud del Consejo de Seguridad o de la mayoría de los Miembros de las Naciones Unidas. + +Artículo 21 +La Asamblea General dictará su propio reglamento y elegirá su Presidente para cada periodo de sesiones. + +Artículo 22 +La Asamblea General podrá establecer los organismos subsidiarios que estime necesarios para el desempeño de sus funciones. + +Capítulo V: El Consejo de Seguridad +COMPOSICIÓN +Artículo 23 +El Consejo de Seguridad se compondrá de quince miembros de las Naciones Unidas. La República de China, Francia, la Unión de las Repúblicas Socialistas Soviéticas, el Reino Unido de la Gran Bretaña e Irlanda del Norte y los Estados Unidos de América, serán miembros permanentes del Consejo de Seguridad. La Asamblea General elegirá otros diez Miembros de las Naciones Unidas que serán miembros no permanentes del Consejo de Seguridad, prestando especial atención, en primer término, a la contribución de los Miembros de las Naciones Unidas al mantenimiento de la paz y la seguridad internacionales y a los démas propósitos de la Organización, como tambien a una distribución geográfica equitativa. +Los miembros no permanentes del Consejo de Seguridad serán elegidos por un periodo de dos años. En la primera elección de los miembros no permanentes que se celebre despues de haberse aumentado de once a quince el número de miembros del Consejo de Seguridad, dos de los cuatro miembros nuevos serán elegidos por un periodo de un año. Los miembros salientes no serán reelegibles para el periodo subsiguiente. +Cada miembro del Consejo de Seguridad tendrá un representante. +FUNCIONES y PODERES +Artículo 24 +A fin de asegurar acción rápida y eficaz por parte de las Naciones Unidas, sus Miembros confieren al Consejo de Seguridad la responsabilidad primordial de mantener la paz y la seguridad internacionales, y reconocen que el Consejo de Seguridad actuá a nombre de ellos al desempeñar las funciones que le impone aquella responsabilidad. +En el desempeño de estas funciones, el Consejo de Seguridad procederá de acuerdo con los Propósitos y Principios de las Naciones Unidas. Los poderes otorgados al Consejo de Seguridad para el desempeño de dichas funciones quedan definidos en los Capítulos VI, VII, VIII y XII. +El Consejo de Seguridad presentará a la Asamblea General para su consideración informes anuales y, cuando fuere necesario, informes especiales. +Artículo 25 +Los Miembros de las Naciones Unidas convienen en aceptar y cumplir las decisiones del Consejo de Seguridad de acuerdo con esta Carta. + +Artículo 26 +A fin de promover el establecimiento y mantenimiento de la paz y la seguridad internacionales con la menor desviación posible de los recursos humanos y económicos del mundo hacia los armamentos, el Consejo de Seguridad tendrá a su cargo, con la ayuda del Comité de Estado Mayor a que se refiere e1 Artículo 47, la elaboración de planes que se someterán a los Miembros de las Naciones Unidas para el establecimiento de un sistema de regulación de los armamentos. + +VOTACIÓN +Artículo 27 +Cada miembro del Consejo de Seguridad tendrá un voto. +Las decisiones del Consejo de Seguridad sobre cuestiones de procedimiento serán tomadas por el voto afirmativo de nueve miembros. +Las decisiones del Consejo de Seguridad sobre todas las demás cuestiones serán tomadas por el voto afirmativo de nueve miembros, incluso los votos afirmativos de todos los miembros permanentes; pero en las decisiones tomadas en virtud del Capítulo VI y del párrafo 3 del Artículo 52, la parte en una controversia se abstendrá de votar. +PROCEDIMIENTO +Artículo 28 +El Consejo de Seguridad será organizado de modo que pueda funcionar continuamente. Con tal fin, cada miembro del Consejo de Seguridad tendra en todo momento su representante en la sede de la Organización. +El Consejo de Seguridad celebrará reuniones periódicas en las cuales cada uno de sus miembros podrá, si lo desea, hacerse representar por un miembro de su Gobierno o por otro representante especialmente designado. +El Consejo de Seguridad podrá celebrar reuniones en cualesquiera lugares, fuera de la sede de la Organización, que juzgue más apropiados para facilitar sus labores. +Artículo 29 +El Consejo de Seguridad podrá establecer los organismos subsidiarios que estime necesarios para el desempeño de sus funciones. + +Artículo 30 +El Consejo de Seguridad dictará su propio reglamento, el cual establecerá el método de elegir su Presidente. + +Artículo 31 +Cualquier Miembro de las Naciones Unidas que no sea miembro del Consejo de Seguridad podra participar sin derecho a voto en la discusión de toda cuestión llevada ante el Consejo de Seguridad cuando éste considere que los intereses de ese Miembro están afectados de manera especial. + +Artículo 32 +El Miembro de las Naciones Unidas que no tenga asiento en el Consejo de Seguridad o el Estado que no sea Miembro de las Naciones Unidas, si fuere parte en una controversia que esté considerando el Consejo de Seguridad, será invitado a participar sin derecho a voto en las discusiones relativas a dicha controversia. El Consejo de Seguridad establecerá las condiciones que estime justas para la participación de los Estados que no sean Miembros de las Naciones Unidas. + +Capítulo VI: Arreglo pacífico de controversias +Artículo 33 +Las partes en una controversia cuya continuación sea susceptible de poner en peligro el mantenimiento de la paz y la seguridad internacionales tratarán de buscarle solución, ante todo, mediante la negociación, la investigación, la mediación, la conciliación, el arbitraje, el arreglo judicial, el recurso a organismos o acuerdos regionales u otros medios pacíficos de su elección. +El Consejo de Seguridad, si lo estimare necesario, instará a las partes a que arreglen sus controversias por dichos medios. +Artículo 34 +El Consejo de Seguridad podrá investigar toda controversia, o toda situación susceptible de conducir a fricción internacional o dar origen a una controversia, a fin de determinar si la prolongación de tal controversia o situación puede poner en peligro el mantenimiento de la paz y la seguridad internacionales. + +Artículo 35 +Todo Miembro de las Naciones Unidas podrá llevar cualquiera controversia, o cualquiera situación de la naturaleza expresada en el Artículo 34, a la atención del Consejo de Seguridad o de la Asamblea General. +Un Estado que no es Miembro de las Naciones Unidas podrá llevar a la atención del Consejo de Seguridad o de la Asamblea General toda controversia en que sea parte, si acepta de antemano, en lo relativo a la controversia, las obligaciones de arreglo pacífico establecidas en esta Carta. +El procedimiento que siga la Asamblea General con respecto a asuntos que le sean presentados de acuerdo con este Artículo quedará sujeto a las disposiciones de los Artículos 11 y 12. +Artículo 36 +El Consejo de Seguridad podrá, en cualquier estado en que se encuentre una controversia de la naturaleza de que trata el Artículo 33 o una situación de indole semejante, recomendar los procedimientos o métodos de ajuste que sean apropiados. +El Consejo de Seguridad debera tomar en consideración todo procedimiento que las partes hayan adoptado para el arreglo de la controversia. +Al hacer recomendaciones de acuerdo con este Artículo, el Consejo de Seguridad deberá tomar tambien en consideración que las controversias de orden jurídico, por regla general, deben ser sometidas por las partes a la Corte Internacional de Justicia, de conformidad con las disposiciones del Estatuto de la Corte. +Artículo 37 +Si las partes en una controversia de la naturaleza definida en el Artículo 33 no lograren arreglarla por los medios indicados en dicho Artículo, la someterán al Consejo de Seguridad. +Si el Consejo de Seguridad estimare que la continuación de la controversia es realmente susceptible de poner en peligro el mantenimiento de la paz y la seguridad internacionales, el Consejo decidirá si ha de proceder de conformidad con el Artículo 36 o si ha de recomendar los términos de arreglo que considere apropiados. +Artículo 38 +Sin perjuicio de lo dispuesto en los Artículos 33 a 37, el Consejo de Seguridad podrá, si así lo solicitan todas las partes en una controversia, hacerles recomendaciones a efecto de que se llegue a un arreglo pacífico. + +Capítulo VII: Acción en caso de amenazas a la paz, quebrantamientos de la paz o actos de agresión +Artículo 39 +El Consejo de Seguridad determinará la existencia de toda amenaza a la paz, quebrantamiento de la paz o acto de agresion y hará recomendaciones o decidirá que medidas seran tomadas de conformidad con los Artículos 41 y 42 para mantener o restablecer 1a paz y la seguridad internacionales. + +Artículo 40 +A fin de evitar que la situación se agrave, el Consejo de Seguridad, antes de hacer las recomendaciones o decidir las medidas de que trata el Artículo 39, podrá instar a las partes interesadas a que cumplan con las medidas provisionales que juzgue necesarias o aconsejables. Dichas medidas provisionales no perjudicarán los derechos, las reclamaciones o la posición de las partes interesadas. El Consejo de Seguridad tomará debida nota del incumplimiento de dichas medidas provisionales. + +Artículo 41 +El Consejo de Seguridad podrá decidir qué medidas que no impliquen el uso de la fuerza armada han de emplearse para hacer efectivas sus decisiones, y podrá instar a los Miembros de las Naciones Unidas a que apliquen dichas medidas, que podrán comprender la interrupción total o parcial de las relaciones económicas y de las comunicaciones ferroviarias, marítimas, aéreas, postales, telegráficas, radioeléctricas, y otros medios de comunicación, así como la ruptura de relaciones diplomáticas. + +Artículo 42 +Si el Consejo de Seguridad estimare que las medidas de que trata el Artículo 41 pueden ser inadecuadas o han demostrado serlo, podrá ejercer, por medio de fuerzas aéreas, navales o terrestres, la acción que sea necesaria para mantener o restablecer la paz y la seguridad internacionales. Tal acción podrá comprender demostraciones, bloqueos y otras operaciones ejecutadas por fuerzas aéreas, navales o terrestres de Miembros de las Naciones Unidas. + +Artículo 43 +Todos los Miembros de las Naciones Unidas, con e1 fin de contribuir al mantenimiento de la paz y la seguridad internacionales, se compremeten a poner a disposición del Consejo de Seguridad, cuando éste lo solicite, y de conformidad con un convenio especial o con convenios especiales, las fuerzas armadas, la ayuda y las facilidades, incluso el derecho de paso, que sean necesarias para el propósito de mantener la paz y la seguridad internacionales. +Dicho convenio o convenios fijarán el número y clase de las fuerzas, su grado de preparación y su ublicación general, como también la naturaleza de las facilidades y de la ayuda que habrán de darse. +El convenio o convenios serán negociados a iniciativa del Consejo de Seguridad tan pronto como sea posible; serán concertados entre el Consejo de Seguridad y Miembros individuales o entre el Consejo de Seguridad y grupos de Miembros, y estarán sujetos a ratificación por los Estados signatarios de acuerdo con sus respectivos procedimientos constitucionales. +Artículo 44 +Cuando el Consejo de Seguridad haya decidido hacer uso de la fuerza, antes de requerir a un Miembro que no éste representado en él a que provea fuerzas armadas en cumplimiento de las obligaciones contraídas en virtud del Artículo 43, invitará a dicho Miembro, si éste así lo deseare, a participar en las decisiones del Consejo de Seguridad relativas al empleo de contingentes de fuerzas armadas de dicho Miembro. + +Artículo 45 +A fin de que la Organización pueda tomar medidas militares urgentes, sus Miembros mantendrán contingentes de fuerzas aéreas nacionales inmediatamente disponibles para la ejecución combinada de una acción coercitiva internacional. La potencia y el grado de preparación de estos contingentes y los planes para su acción combinada seran determinados, dentro de los límites establecidos en el convenio o convenios especiales de que trata el Artículo 43, por el Consejo de Seguridad con la ayuda del Comité de Estado Mayor. + +Artículo 46 +Los planes para el empleo de la fuerza armada serán hechos por el Consejo de Seguridad con la ayuda del Comité de Estado Mayor. + +Artículo 47 +Se establecerá un Comité de Estado Mayor para asesorar y asistir al Consejo de Seguridad en todas las cuestiones relativas a las necesidades militares del Consejo para el mantenimiento de la paz y la seguridad internacionales, al empleo y comando de las fuerzas puestas a su disposición, a la regulación de los armamentos y al posible desarme. +El Comité de Estado Mayor estará integrado por los Jefes de Estado Mayor de los miembros permanentes del Consejo de Seguridad o sus representantes. Todo Miembro de las Naciones Unidas que no éste permanentemente representado en el Comite será invitado por éste a asociarse a sus labores cuando el desempeño eficiente de las funciones del Comité requiera la participación de dicho Miembro. +El Comité de Estado Mayor tendrá a su cargo, bajo la autoridad del Consejo de Seguridad, la dirección estratégica de todas las fuerzas armadas puestas a disposición del Consejo. Las cuestiones relativas al comando de dichas fuerzas serán resueltas posteriormente. +El Comite de Estado Mayor, con autorización del Consejo de Seguridad y después de consultar con los organismos regionales apropiados, podrá establecer subcomités regionales. +Artículo 48 +La acción requerida para llevar a cabo las decisiones del Consejo de Seguridad para el mantenimiento de la paz y la seguridad internacionales será ejercida por todos los Miembros de las Naciones Unidas o por algunos de ellos, según lo determine el Consejo de Seguridad. +Dichas decisiones serán llevadas a cabo por los Miembros de las Naciones Unidas directamente y mediante su acción en los organismos internacionales apropiados de que formen parte. +Artículo 49 +Los Miembros de las Naciones Unidas deberán prestarse ayuda mutua para llevar a cabo las medidas dispuestas por el Consejo de Seguridad. + +Artículo 50 +Si el Consejo de Seguridad tomare medidas preventivas o coercitivas contra un Estado, cualquier otro Estado, sea o no Miembro de las Naciones Unidas, que confrontare problemas económicos especiales originados por la ejecución de dichas medidas, tendrá el derecho de consultar al Consejo de Seguridad acerca de la solución de esos problemas. + +Artículo 51 +Ninguna disposición de esta Carta menoscabará el derecho inmanente de legítima defensa, individual o colectiva, en caso de ataque armado contra un Miembro de las Naciones Unidas, hasta tanto que el Consejo de Seguridad haya tomado las medidas necesarias para mantener la paz y la seguridad internacionales. Las medidas tomadas por los Miembros en ejercicio del derecho de legítima defensa serán comunicadas inmediatamente al Consejo de Seguridad, y no afectarán en manera alguna la autoridad y responsabilidad del Consejo conforme a la presente Carta para ejercer en cualquier momento la acción que estime necesaria con el fin de mantener o restablecer la paz y la seguridad internacionales. + +Capítulo VIII: Acuerdos regionales +Artículo 52 +Ninguna disposición de esta Carta se opone a la existencia de acuerdos u organismos regionales cuyo fin sea entender en los asuntos relativos al mantenimiento de la paz y la seguridad internacionales y susceptibles de acción regional, siempre que dichos acuerdos u organismos, y sus actividades, sean compatibles con los Propósitos y Principios de las Naciones Unidas. +Los Miembros de las Naciones Unidas que sean partes en dichos acuerdos o que constituyan dichos organismos, harán todos los esfuerzos posibles para lograr el arreglo pacífico de las controversias de caracter local por medio de tales acuerdos u organismos regionales antes de someterlas al Consejo de Seguridad. +El Consejo de Seguridad promoverá el desarrollo del arreglo pacífico de las controversias de carácter local por medio de dichos acuerdos u organismos regionales, procediendo, bien a iniciativa de los Estados interesados, bien a instancia del Consejo de Seguridad. +Este Artículo no afecta en manera a1guna la aplicación de los Artículos 34 y 35. +Artículo 53 +El Consejo de Seguridad utilizará dichos acuerdos u organismos regionales, si a ello hubiere lugar, para aplicar medidas coercitivas bajo su autoridad. Sin embargo, no se aplicarán medidas coercitivas en virtud de acuerdos regionales o por organismos regionales sin autorización del Consejo de Seguridad, salvo que contra Estados enemigos, según se les define en el párrafo 2 de este Artículo, se tomen las medidas dispuestas en virtud del Artículo 107 o en acuerdos regionales dirigidos contra la renovación de una política de agresión de parte de dichos Estados, hasta tanto que a solicitud de los gobiernos interesados quede a cargo de la Organización la responsabi1idad de prevenir nuevas agresiones de parte de aquellos Estados. +El término "Estados enemigos" empleado en el párrafo 1 de este Artículo se aplica a todo Estado que durante la segunda guerra mundial haya sido enemigo de cualquiera de los signatarios de esta Carta. +Artículo 54 +Se deberá mantener en todo tiempo al Consejo de Seguridad plenamente informado de las actividades emprendidas o proyectadas de conformidad con acuerdos regionales o por organismos regionales con el propósito de mantener la paz y la seguridad internacionales. + +Capítulo IX: Cooperación internacional económica y social +Artículo 55 +Con el propósito de crear las condiciones de estabilidad y bienestar necesarias para las relaciones pacíficas y amistosas entre las naciones, basadas en el respeto al principio de la igualdad de derechos y al de la libre determinación de los pueblos, la Organización promoverá: + +niveles de vida más elevados, trabajo permanente para todos, y condiciones de progreso y desarrollo económico y social; +la solución de problemas internacionales de carácter económico, social y sanitario, y de otros problemas conexos; y la cooperación internacional en el orden cultural y educativo; y +el respeto universal a los derechos humanos y a las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión, y la efectividad de tales derechos y libertades. +Artículo 56 +Todos los Miembros se comprometen a tomar medidas conjunta o separadamente, en cooperación con la Organización, para la realización de los propósitos consignados en el Artículo 55. + +Artículo 57 +Los distintos organismos especializados establecidos por acuerdos intergubernamentales, que tengan amplias atribuciones internacionales definidas en sus estatutos, y relativas a materias de carácter económico, social, cultural, educativo, sanitario, y otras conexas, serán vinculados con la Organización de acuerdo con las disposiciones del Artículo 63. +Tales organismos especializados así vinculados con la Organización se denominarán en adelante "los organismos especializados". +Artículo 58 +La Organización hará recomendaciones con el objeto de coordinar las normas de acción y las actividades de los organismos especializados. + +Artículo 59 +La Organización iniciará, cuando hubiere lugar, negociaciones entre los Estados interesados para crear los nuevos organismos especializados que fueren necesarios para la realización de los propósitos enunciados en el Artículo 55. + +Artículo 60 +La responsabilidad por el desempeño de las funciones de la Organización señaladas en este Capítulo corresponderá a la Asamblea General y, bajo la autoridad de ésta, al Consejo Económico y Social, que dispondrá a este efecto de las facultades expresadas en el Capítulo X. + +Capítulo X: El Consejo Económico y Social +COMPOSICIÓN +Artículo 61 +El Consejo Económico y Social estará integrado por cincuenta y cuatro Miembros de las Naciones Unidas elegidos por la Asamblea General. +Salvo lo prescrito en el párrafo 3, dieciocho miembros del Consejo Económico y Social serán elegidos cada año por un periodo de tres años. Los miembros salientes serán reelegibles para el periodo subsiguiente. +En la primera elección que se celebre después de haberse aumentado de veintisiete a cincuenta y cuatro el número de miembros del Consejo Económico y Social, además de los miembros que se elijan para sustituir a los nueve miembros cuyo mandato expire al final de ese año, se elegirán veintisiete miembros más. El mandato de nueve de estos veintisiete miembros adicionales asi elegidos expirara al cabo de un año y el de otros nueve miembros una vez transcurridos dos años, conforme a las disposiciones que dicte la Asamblea General. +Cada miembro del Consejo Económico y Social tendrá un representante. +FUNCIONES y PODERES +Artículo 62 +El Consejo Econó:mico y Social podrá hacer o iniciar estudios e informes con respecto a asuntos internacionales de carár económico, social, cultural, educativo y sanitario, y otros asuntos conexos, y hacer recomendaciones sobre tales asuntos a la Asamblea General, a los Miembros de las Naciones Unidas y a los organismos especializados interados. +El Consejo Económico y Social podrá hacer recomendaciones con el objeto de promover el respeto a los derechos humanos y a las libertades fundamentales de todos, y la efectividad de tales derechos y libertades. +El Consejo Económico y Social podrá formular proyectos de convención con respecto a cuestiones de su competencia para someterlos a la Asamblea General. +El Consejo Económico y Social podrá convocar, conforme a las reglas que prescriba la Organización, conferencias internacionales sobre asuntos de su competencia. +Artículo 63 +El Consejo Económico y Social podrá concertar con cualquiera de los organismos especializados de que trata el Artículo 57, acuerdos por medio de los cuales se establezcan las condiciones en que dichos organismos habrán de vincularse con la Organización. Tales acuerdos estarán sujetos a la aprobación de la Asamblea General. +El Consejo Económico y Social podrá coordinar las actividades de los organismos especializados mediante consultas con ellos y haciéndoles recomendaciones, como también mediante recomendaciones a la Asamblea General y a los Miembros de las Naciones Unidas. +Artículo 64 +El Consejo Económico y Social podrá tomar las medidas apropiadas para obtener informes periódicos de los organismos especializados. También podrá hacer arreglos con los Miembros de las Naciones Unidas y con los organismos especializados para obtener informes con respecto a los medidas tomadas para hacer efectivas sus propias recomendaciones y las que haga la Asamblea General acerca de materias de la competencia del Consejo. +El Consejo Económico y Social podrá comunicar a la Asamblea General sus observaciones sobre dichos informes. +Artículo 65 +El Consejo Económico y Social podrá suministrar información a1 Consejo de Seguridad y deberá darle la ayuda que éste le solicite. + +Artículo 66 +El Consejo Económico y Social desempeñará las funciones que caigan dentro de su competencia en relación con el cumplimiento de las recomendaciones de la Asamblea General. +El Consejo Económico y Social podrá prestar, con aprobación de la Asamblea General, los servicios que le soliciten los Miembros de las Naciones Unidas y los organismos especializados. +El Consejo Económico y Social desempeñará las demás funciones prescritas en otras partes de esta Carta o que le asignare la Asamblea General. +VOTACIÓN +Artículo 67 +Cada miembro del Consejo Económico y Social tendrá un voto. +Las decisiones del Consejo Económico y Social se tomarán por la mayoría de los miembros presentes y votantes. +PROCEDIMIENTO +Artículo 68 +El Consejo Económico y Social establecerá comisiones de orden económico y social y para la promoción de los derechos humanos, así como las demás comisiones necesarias para el desempeño de sus funciones. + +Artículo 69 +El Consejo Económico y Social invitará a cualquier Miembro de las Naciones Unidas a participar, sin derecho a voto, en sus deliberaciones sobre cualquier asunto de particular interés para dicho Miembro. + +Artículo 70 +El Consejo Económico y Social podrá hacer arreglos para que representantes de los organismos especializados participen, sin derecho a voto, en sus deliberaciones y en las de las comisiones que establezca, y para que sus propios representantes participen en las deliberaciones de aquellos organismos. + +Artículo 71 +El Consejo Económico y Social podrá hacer arreglos adecuados para celebrar consultas con organizaciones no gubernamentales que se ocupen en asuntos de la competencia del Consejo. Podrán hacerse dichos arreglos con organizaciones internacionales y, si a ello hubiere lugar, con organizaciones nacionales, previa consulta con el respectivo Miembro de las Naciones Unidas. + +Artículo 72 +El Consejo Económico y Social dictará su propio reglamento, el cual establecerá el método de elegir su Presidente. +El Consejo Económico y Social se reunirá cuando sea necesario de acuerdo con su reglamento, el cual incluirá disposiciones para la convocación a sesiones cuando lo solicite una mayoría de sus miembros. +Capítulo XI: Declaración relativa a territorios no autónomos +Artículo 73 +Los Miembros de las Naciones Unidas que tengan o asuman la responsabilidad de administrar territorios cuyos pueblos no hayan alcanzado todavía la plenitud del gobierno propio, reconocen el principio de que los intereses de los habitantes de esos territorios están por encima de todo, aceptan como un encargo sagrado la obligación de promover en todo lo posible, dentro del sistema de paz y de seguridad internacionales establecido por esta Carta, el bienestar de los habitantes de esos territorios, y asimismo se obligan: + +a asegurar, con el debido respeto a la cultura de los pueblos respectivos, su adelanto político, económico, social y educativo, el justo tratamiento de dichos pueblos y su protección contra todo abuso; +a desarrollar el gobierno propio, a tener debidamente en cuenta las aspiraciones políticas de los pueblos, y a ayudarlos en el desenvolvimiento progresivo de sus libres instituciones políticas, de acuerdo con las circunstancias especiales de cada territorio, de sus pueblos y de sus distintos grados de adelanto; +a promover la paz y la seguridad internacionales; +a promover medidas constructivas de desarrollo, estimular la investigación, y cooperar unos con otros y, cuando y donde fuere del caso, con organismos internacionales especializados, para conseguir la realización práctica de los propósitos de carácter social, económico y científico expresados en este Artículo; y +a transmitir regularmente al Secretario General, a título informativo y dentro de los límites que la seguridad y consideraciones de orden constitucional requieran, la información estadística y de cualquier otra naturaleza técnica que verse sobre las condiciones económicas, sociales y educativas de los territorios por los cuales son respectivamente responsables, que no sean de los territorios a que se refieren los Capítulos XII y XIII de esta Carta. +Artículo 74 +Los Miembros de las Naciones Unidas convienen igualmente en que su política con respecto a los territorios a que se refiere este Capitulo, no menos que con respecto a sus territorios metropolitanos, debera fundarse en el principio general de la buena vecindad, teniendo debidamente en cuenta los intereses y el bienestar del resto del mundo en cuestiones de carácter social, económico y comercial. + +Capítulo XII: Régimen internacional de administración fiduciaria +Artículo 75 +La Organización establecerá bajo su autoridad un régimen internacional de administración fiduciaria para la administración y vigilancia de los territorios que puedan colocarse bajo dicho régimen en virtud de acuerdos especiales posteriores. A dichos territorios se les denominará territorios fideicometidos. + +Artículo 76 +Los objetivos básicos del régimen de administración fiduciaria, de acuerdo con los Propósitos de las Naciones Unidas enunciados en el Artículo 1 de esta Carta, serán: + +fomentar la paz y la seguridad internacionales; +promover el adelanto político, económico, social y educativo de los habitantes de los territorios fideicometidos, y su desarrollo progresivo hacia el gobierno propio o la independencia, teniéndose en cuenta las circunstancias particulares de cada territorio y de sus pueblos y los deseos libremente expresados de los pueblos interesados, y según se dispusiere en cada acuerdo sobre administración fiduciaria; +promover el respeto a los derechos humanos y a las libertades fundamentales de todos, sin hacer distinción por motivos de raza, sexo, idioma o religión, así como el reconocimiento de la interdependencia de los pueblos del mundo; y +asegurar tratamiento igual para todos los Miembros de las Naciones Unidas y sus nacionales en materias de carácter social, económico y comercial, así como tratamiento igual para dichos nacionales en la administración de la justicia, sin perjuicio de la realización de los objetivos arriba expuestos y con sujeción a las disposiciones del Artículo 80. +Artículo 77 +El régimen de administración fiduciaria se aplicará a los territorios de las siguientes categorías que se colocaren bajo dicho régimen por medio de los correspondientes acuerdos: +territorios actualmente bajo mandato; +territorios que, como resultado de la segunda guerra mundial, fueren segregados de Estados enemigos, y +territorios voluntariamente colocados bajo este régimen por los Estados responsables de su administración. +Será objeto de acuerdo posterior el determinar cuáles territorios de las categorías anteriormente mencionadas seran colocados bajo el régimen de administración fiduciaria y en qué condiciones. +Artículo 78 +El régimen de administración fiduciaria no se aplicará a territorios que hayan adquirido la calidad de Miembros de las Naciones Unidas, cuyas relaciones entre sí se basarán en el respeto al principio de la igualdad soberana. + +Artículo 79 +Los términos de la administración fiduciaria para cada territorio que haya de colocarse bajo el régimen expresado, y cualquier modificación o reforma, deberán ser acordados por los Estados directamente interesados, incluso la potencia mandataria en el caso de territorios bajo mandato de un Miembro de las Naciones Unidas, y serán aprobados según se dispone en los Artículos 83 y 85. + +Artículo 80 +Salvo lo que se conviniere en los acuerdos especiales sobre administración fiduciaria concertados de conformidad con los Artículos 77, 79 y 81 y mediante los cuales se coloque cada territorio bajo el régimen de administración fiduciaria, y hasta tanto se coIlcierten tales acuerdos, ninguna disposición de este Capítulo será interpretada en el sentido de que modifica en manera alguna los derechos de cualesquiera Estados o pueblos, o los términos de los instrumentos internacionales vigentes en que sean partes Miembros de los Naciones Unidas. +El párrafo 1 de este Artículo no será interpretado en el sentido de que da motivo para demorar o diferir la negociación y celebración de acuerdos para aplicar el régimen de administración fiduciaria a territorios bajo mandato y otros territorios, conforme al Artículo 77. +Artículo 81 +El acuerdo sobre administración fiduciaria contendrá en cada caso las condiciones en que se administrará el territorio fideicometido, y designará la autoridad que ha de ejercer la administración. Dicha autoridad, que en lo sucesivo se denominará la "autoridad administradora", podrá ser uno o más Estados o la misma Organización. + +Artículo 82 +Podrán designarse en cualquier acuerdo sobre administración fiduciaria, una o varias zonas estratégicas que comprendan parte o la totalidad del territorio fideicometido a que se refiera el acuerdo, sin perjuicio de los acuerdos especiales celebrados con arreglo al Artículo 43. + +Artículo 83 +Todas las funciones de las Naciones Unidas relativas a zonas estratégicas, incluso la de aprobar los términos de los acuerdos sobre administración fiduciaria y de las modificaciones o reformas de los mismos, serán ejercidas por el Consejo de Seguridad. +Los objetivos básicos enunciados en el Artículo 76 serán aplicables a la población de cada zona estratégica. +Salvo las disposiciones de los acuerdos sobre administración fiduciaria y sin perjuicio de las exigencias de la seguridad, el Consejo de Seguridad aprovechará la ayuda del Consejo de Administración Fiduciaria para desempeñar, en las zonas estratégicas, aquellas funciones de la Organización relativas a materias políticas, económicas, sociales y educativas que correspondan al régimen de administración fiduciaria. +Artículo 84 +La autoridad administradora tendrá el deber de velar por que el territorio fideicometido contribuya al mantenimiento de la paz y la seguridad internacionales. Con tal fin, la autoridad administradora podrá hacer uso de las fuerzas voluntarias, de las facilidades y de la ayuda del citado territorio, a efecto de cumplir con las obligaciones por ella contraídas a este respecto ante el Consejo de Seguridad, como también para la defensa local y el mantenimiento de la ley y del orden dentro del territorio fideicometido. + +Artículo 85 +Las funciones de la Organización en lo que respecta a los acuerdos sobre administración fiduciaria relativos a todas las zonas no designadas como estratégicas, incluso la de aprobar los términos de los acuerdos y las modificaciones o reformas de los mismos serán ejercidas por la Asamblea General. +El Consejo de Administración Fiduciaria, bajo la autoridad de la Asamblea General, ayudará a ésta en el desempeño de las funciones aquí enumeradas. +Capítulo XIII: El Consejo de Administración Fiduciaria +COMPOSICIÓN +Artículo 86 +El Consejo de Administración Fiduciaria estará integrado por los siguientes Miembros de las Naciones Unidas: +los Miembros que administren territorios fideicometidos; +los Miembros mencionados por su nombre en el Artículo 23 que no estén administrando territorios fideicometidos; y +tantos otros Miembros elegidos por periodos de tres años por la Asamblea General cuantos sean necesarios para asegurar que el número total de miembros del Consejo de Administración Fiduciaria se divida por igual entre los Miembros de las Naciones Unidas administradores de tales territorios y los no administradores. +Cada miembro del Consejo de Administración Fiduciaria designará a una persona especialmente calificada para que lo represente en el Consejo. +FUNCIONES Y PODERES +Artículo 87 +En el desempeño de sus funciones, la Asamblea General y, bajo su autoridad, el Consejo de Administración Fiduciaria, podrán: + +considerar informes que les haya rendido la autoridad administradora; +aceptar peticiones y examinarlas en consulta con la autoridad administradora; +disponer visitas periódicas a los territorios fideicometidos en fechas convenidas con la autoridad administradora; y +tomar estas y otras medidas de conformidad con los términos de los acuerdos sobre administración fiduciaria. +Artículo 88 +El Consejo de Administración Fiduciaria formulará un cuestionario sobre el adelanto político, económico, social y educativo de los habitantes de cada territorio fideicometido; y la autoridad administradora de cada territorio fideicometido dentro de la competencia de la Asamblea General, rendirá a ésta un informe anual sobre 1a base de dicho cuestionario. + +VOTACIÓN +Artículo 89 +Cada miembro del Consejo de Administración Fiduciaria tendra un voto. +Las decisiones del Consejo de Administración Fiduciaria serán tomadas por el voto de la mayoría de los miembros presentes y votantes. +PROCEDIMIENTO +Artículo 90 +El Consejo de Administración Fiduciaria dictará su propio reglamento, el cual establecerá el método de elegir su Presidente. +El Consejo de Administración Fiduciaria se reunirá cuando sea necesario, según su reglamento. Este contendrá disposiciones sobre convocación del Consejo a solicitud de la mayoría de sus miembros. +Artículo 91 +El Consejo de Administración Fiduciaria, cuando lo estime conveniente, se valdrá de la ayuda del Consejo Económico y Social y de la de los organismos especializados con respecto a los asuntos de la respectiva competencia de los mismos. + +Capítulo XIV: La Corte Internacional de Justicia +Artículo 92 +La Corte Internacional de Justicia será el órgano judicial principal de las Naciones Unidas; funcionará de conformidad con el Estatuto anexo, que está basado en el de la Corte Permanente de Justicia Internacional, y que forma parte integrante de esta Carta. + +Artículo 93 +Todos los Miembros de las Naciones Unidas son ipso facto partes en el Estatuto de la Corte Internacional de Justicia. +Un Estado que no sea Miembro de las Naciones Unidas podrá llegar a ser parte en el Estatuto de la Corte Internacional de Justicia, de acuerdo con las condiciones que determine en cada caso la Asamblea General a recomendación del Consejo de Seguridad. +Artículo 94 +Cada Miembro de las Naciones Unidas compromete a cumplir la decisión de la Corte Internacional de Justicia en todo litigio en que sea parte. +Si una de las partes en un litigio dejare de cumplir las obligaciones que le imponga un fallo de la Corte, la otra parte podrá recurrir al Consejo de Seguridad, el cual podrá, si lo cree necesario, hacer recomendaciones o dictar medidas con el objeto de que se lleve a efecto la ejecución del fallo. +Artículo 95 +Ninguna de las disposiciones de esta Carta impedirá a los Miembros de las Naciones Unidas encomendar la solución de sus diferencias a otros tribunales en virtud de acuerdos ya existentes o que puedan concertarse en el futuro. + +Artículo 96 +La Asamblea General o el Consejo de Seguridad podrán solicitar de la Corte Internacional de Justicia que emita una opinión consultiva sobre cualquier cuestión jurídica. +Los otros órganos de las Naciones Unidas y los organismos especializados que en cualquier momento sean autorizados para ello por la Asamblea General, podrán igualmente solicitar de la Corte opiniones consultivas sobre cuestiones jurídicas que surjan dentro de la esfera de sus actividades. +Capítulo XV: La Secretaría +Artículo 97 +La Secretaría se compondrá de un Secretario General y del personal que requiera la Organización. El Secretario General será nombrado por la Asamblea General a recomendación del Consejo de Seguridad. El Secretario General sera el más alto funcionario administrativo de la Organización. + +Artículo 98 +El Secretario General actuará como tal en todas las sesiones de la Asamblea General, del Consejo de Seguridad, del Consejo Económico y Social y del Consejo de Administración Fiduciaria, y desempeñara las demas funciones que le encomienden dichos órganos. El Secretario General rendirá a la Asamblea General un informe anual sobre las actividades de la Organización. + +Artículo 99 +El Secretario General podrá llamar la atención del Consejo de Seguridad hacia cualquier asunto que en su opinión pueda poner en peligro el mantenimiento de la paz y la seguridad internacionales. + +Artículo 100 +En el cumplimiento de sus deberes, el Secretario General y el personal de la Secretaría no solicitarán ni recibirán instrucciones de ningún gobierno ni de ninguna autoridad ajena a la Organización, y se abstendrán de actuar en forma alguna que sea incompatible con su condición de funcionarios internacionales responsables únicamente ante la Organización. +Cada uno de los Miembros de las Naciones Unidas se compromete a respetar el carácter exclusivamente internacional de las funciones del Secretario General y del personal de la Secretaría, y a no tratar de influir sobre ellos en el desempeño de sus funciones. +Artículo 101 +El personal de la Secretaría será nombrado por el Secretario General de acuerdo con las reglas establecidas por la Asamblea General. +Se asignará permanentemente personal adecuado al Consejo Económico y Social, al Consejo de Administración Fiduciaria y, según se requiera, a otros órganos de las Naciones Unidas. Este personal formará parte de la Secretaría. +La consideración primordial que se tendrá en cuenta al nombrar el personal de la Secretaría y al determinar las condiciones del servicio, es la necesidad de asegurar el más alto grado de eficiencia, competencia e integridad. Se dará debida consideración también a la importancia de contratar el personal en forma de que haya la más amplia representación geográfica posible. +Capítulo XVI: Disposiciones varias +Artículo 102 +Todo tratado y todo acuerdo internacional concertados por cualesquiera Miembros de las Naciones Unidas después de entrar en vigor esta Carta, serán registrados en la Secretaría y publicados por ésta a la mayor brevedad posible. +Ninguna de las partes en un tratado o acuerdo internacional que no haya sido registrado conforme a las disposiciones del párrafo 1 de este Artículo, podrá invocar dicho tratado o acuerdo ante órgano alguno de las Naciones Unidas. +Artículo 103 +En caso de conflicto entre las obligaciones contraídas por los Miembros de las Naciones Unidas en virtud de la presente Carta y sus obligaciones contraídas en virtud de cualquier otro convenio internacional, prevalecerán las obligaciones impuestas por la presente Carta. + +Artículo 104 +La Organización gozará, en el territorio de cada uno de sus Miembros, de la capacidad jurídica que sea necesaria para el ejercicio de sus funciones y la realización de sus propósitos. + +Artículo 105 +La Organización gozará, en el territorio de cada uno de sus Miembros, de los privilegios e inmunidades necesarios para la realización de sus propósitos. +Los representantes de los Miembros de la Organización y los funcionarios de ésta, gozarán asimismo de los privilegios e inmunidades necesarios para desempeñar con independencia sus funciones en relación con la Organización. +La Asamblea General podrá hacer recomendaciones con el objeto de determinar los pormenores de la aplicación de los párrafos 1 y 2 de este Artículo, o proponer convenciones a los Miembros de las Naciones Unidas con el mismo objeto. +Capítulo XVII: Acuerdos transitorios sobre seguridad +Artículo 106 +Mientras entran en vigor los convenios especiales previstos en el Artículo 43, que a juicio del Consejo de Seguridad lo capaciten para ejercer las atribuciones a que se refiere el Artículo 42, las partes en la Declaración de las Cuatro Potencias firmada en Moscú el 30 de octubre de 1943, y Francia, deberán, conforme a las disposiciones del párrafo 5 de esa Declaración, celebrar consultas entre sí, y cuando a ello hubiere lugar, con otros miembros de la Organización, a fin de acordar en nombre de ésta la acción conjunta que fuere necesaria para mantener la paz y la seguridad internacionales. + +Artículo 107 +Ninguna de las disposiciones de esta Carta invalidará o impedirá cualquier acción ejercida o autorizada como resultado de la segunda guerra mundial con respecto a un Estado enemigo de cualquiera de los signatarios de esta Carta durante la citada guerra, por los gobiernos responsables de dicha acción. + +Capítulo XVIII: Reformas +Artículo 108 +Las reformas a la presente Carta entrarán en vigor para todos los Miembros de las Naciones Unidas cuando hayan sido adoptadas por el voto de las dos terceras partes de los miembros de la Asamblea General y ratificadas, de conformidad con sus respectivos procedimientos constitucionales, por las dos terceras partes de los Miembros de las Naciones Unidas, incluyendo a todos los miembros permanentes del Consejo de Seguridad. + +Artículo 109 +Se podrá celebrar una Conferencia General de los Miembros de las Naciones Unidas con el propósito de revisar esta Carta, en la fecha y lugar que se determinen por el voto de las dos terceras partes de los miembros de la Asamblea General y por el voto de cualesquiera nueve miembros del Consejo de Seguridad. Cada Miembro de las Naciones Unidas tendrá un voto en la Conferencia. +Toda modificación de esta Carta recomendada por el voto de las dos terceras partes de la Conferencia entrará en vigor al ser ratificada de acuerdo con sus respectivos procedimientos constitucionales, por las dos terceras partes de los Miembros de las Naciones Unidas, incluyendo a todos los miembros permanentes del Consejo de Seguridad. +Si no se hubiere celebrado tal Conferencia antes de la décima reunión anual de la Asamblea General despues de entrar en vigor esta Carta, la proposición de convocar tal Conferencia será puesta en la agenda de dicha reunión de la Asamblea General, y la Conferencia será celebrada si así lo decidieren la mayoría de los miembros de la Asamblea General y siete miembros cualesquiera del Consejo de Seguridad. +Capítulo XIX: Ratificación y firma +Artículo 110 +La presente Carta será ratificada por los Estados signatorios de acuerdo con sus respectivos procedimientos constitucionales. +Las ratificaciones serán entregadas para su depósito al Gobierno de los Estados Unidos de América, el cual notificará cada depósito a todos los Estados signatarios así como al Secretario General de la Organización cuando haya sido designado. +La presente Carta entrará en vigor tan pronto como hayan sido depositadas las ratificaciones de la República de China, Francia, la Unión de las Repúblicas Socialistas Soviéticas, el Reino Unido de la Gran Bretaña e Irlanda del Norte y los Estados Unidos de América, y por la mayoría de los demás Estados signatarios. Acto seguido se dejará constancia de las ratificaciones depositadas en un protocolo que extenderá el Gobierno de los Estados Unidos de América, y del cual transmitirá copias a todos los Estados signatarios. +Los Estados signatarios de esta Carta que la ratifiquen después que haya entrado en vigor adquirirán la calidad de miembros originarios de las Naciones Unidas en la fecha del depósito de sus respectivas ratificaciones. +Artículo 111 +La presente Carta, cuyos textos en chino, francés, ruso, inglés y español son igualmente auténticos, será depositada en los archivos del Gobierno de los Estados Unidos de América. Dicho Gobierno enviará copias debidamente certificadas de la misma a los Gobiernos de los demás Estados signatarios. + +En fe de lo cual los Representantes de los Gobiernos de las Naciones Unidas han suscrito esta Carta. Firmada en la ciudad de San Francisco, a los veintiséis días del mes de junio de mil novecientos cuarenta y cinco. \ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_RU.html b/stdlib/benchmarks/collections/data/UN_charter_RU.html new file mode 100644 index 0000000000..65617aadfe --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_RU.html @@ -0,0 +1,2323 @@ + + + + + + + + + + + + + + + + + + + Устав ООН (полный текст) | Организация Объединенных Наций + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + +
+
+ + +
+ + + + + + + + + + +
+
+
+ +
+ + + +

Устав ООН (полный текст)

+ + + + +
+
+ + +
+ + + + +
+
+
+
+

Преамбула

+ +

МЫ, НАРОДЫ ОБЪЕДИНЕННЫХ НАЦИЙ, ПРЕИСПОЛНЕННЫЕ РЕШИМОСТИ

+ +

избавить грядущие поколения от бедствий войны, дважды в нашей жизни принесшей человечеству невыразимое горе, и

+ +

вновь утвердить веру в основные права человека, в достоинство и ценность человеческой личности, в равноправие мужчин и женщин и в равенство прав больших и малых наций, и

+ +

создать условия, при которых могут соблюдаться справедливость и уважение к обязательствам, вытекающим из договоров и других источников международного права, и

+ +

содействовать социальному прогрессу и улучшению условий жизни при большей свободе,

+ +

И В ЭТИХ ЦЕЛЯХ

+ +

проявлять терпимость и жить вместе, в мире друг с другом, как добрые соседи, и

+ +

объединить наши силы для поддержания международного мира и безопасности, и 

+ +

обеспечить принятием принципов и установлением методов, чтобы вооруженные силы применялись не иначе, как в общих интересах, и 

+ +

использовать международный аппарат для содействия экономическому и социальному прогрессу всех народов, 

+ +

РЕШИЛИ ОБЪЕДИНИТЬ НАШИ УСИЛИЯ ДЛЯ ДОСТИЖЕНИЯ ЭТИХ ЦЕЛЕЙ.

+ +

Согласно этому наши соответственные правительства через представителей, собравшихся в городе Сан-Франциско, предъявивших свои полномочия, найденные в надлежащей форме, согласились принять настоящий Устав Организации Объединенных Наций и настоящим учреждают международную организацию под названием «Объединенные Нации».

+ +

Глава I: Цели и Принципы

+ +

Статья 1

+ +

Организация Объединенных Наций преследует Цели:

+ +
    +
  1. Поддерживать международный мир и безопасность и с этой целью принимать эффективные коллективные меры для предотвращения и устранения угрозы миру и подавления актов агрессии или других нарушений мира и проводить мирными средствами, в согласии с принципами справедливости и международного права, улаживание или разрешение международных споров или ситуаций, которые могут привести к нарушению мира;
  2. +
  3. Развивать дружественные отношения между нациями на основе уважения принципа равноправия и самоопределения народов, а также принимать другие соответствующие меры для укрепления всеобщего мира;
  4. +
  5. Осуществлять международное сотрудничество в разрешении международных проблем экономического, социального, культурного и гуманитарного характера и в поощрении и развитии уважения к правам человека и основным свободам для всех, без различия расы, пола, языка и религии, и
  6. +
  7. Быть центром для согласования действий наций в достижении этих общих целей.
  8. +
+ +

Статья 2

+ +

Для достижения целей, указанных в статье 1, Организация и ее Члены действуют в соответствии со следующими Принципами:

+ +
    +
  1. Организация основана на принципе суверенного равенства всех ее Членов;
  2. +
  3. Все Члены Организации Объединенных Наций добросовестно выполняют принятые на себя по настоящему Уставу обязательства, чтобы обеспечить им всем в совокупности права и преимущества, вытекающие из принадлежности к составу Членов Организации;
  4. +
  5. Все Члены Организации Объединенных Наций разрешают свои международные споры мирными средствами таким образом, чтобы не подвергать угрозе международный мир и безопасность и справедливость;
  6. +
  7. Все Члены Организации Объединенных Наций воздерживаются в их международных отношениях от угрозы силой или ее применения как против территориальной неприкосновенности или политической независимости любого государства, так и каким-либо другим образом, несовместимым с Целями Объединенных Наций;
  8. +
  9. Все Члены Организации Объединенных Наций оказывают ей всемерную помощь во всех действиях, предпринимаемых ею в соответствии с настоящим Уставом, и воздерживаются от оказания помощи любому государству, против которого Организация Объединенных Наций предпринимает действия превентивного или принудительного характера;
  10. +
  11. Организация обеспечивает, чтобы государства, которые не являются ее Членами, действовали в соответствии с этими Принципами, поскольку это может оказаться необходимым для поддержания международного мира и безопасности;
  12. +
  13. Настоящий Устав ни в коей мере не дает Организации Объединенных Наций права на вмешательство в дела, по существу входящие во внутреннюю компетенцию любого государства, и не требует от Членов Организации Объединенных Наций представлять такие дела на разрешение в порядке настоящего Устава; однако этот принцип не затрагивает применения принудительных мер на основании Главы VII.
  14. +
+ +

Глава II: Члены Организации

+ +

Статья 3

+ +

Первоначальными Членами Организации Объединенных Наций являются государства, которые, приняв участие в Конференции в Сан-Франциско по созданию Международной Организации или ранее подписав Декларацию Объединенных Наций от 1 января 1942 года, подписали и ратифицировали настоящий Устав в соответствии со статьей 110.

+ +

Статья 4

+ +
    +
  1. Прием в Члены Организации открыт для всех других миролюбивых государств, которые примут на себя содержащиеся в настоящем Уставе обязательства и которые, по суждению Организации, могут и желают эти обязательства выполнять.
  2. +
  3. Прием любого такого государства в Члены Организации производится постановлением Генеральной Ассамблеи по рекомендации Совета Безопасности.
  4. +
+ +

Статья 5

+ +

Если против какого-либо Члена Организации были предприняты Советом Безопасности действия превентивного или принудительного характера, Генеральная Ассамблея имеет право, по рекомендации Совета Безопасности, приостанавливать осуществление прав и привилегий, принадлежащих ему как Члену Организации. Осуществление этих прав и привилегий может быть восстановлено Советом Безопасности.

+ +

Статья 6

+ +

Член Организации, систематически нарушающий принципы, содержащиеся в настоящем Уставе, может быть исключен из Организации Генеральной Ассамблеей по рекомендации Совета Безопасности.

+ +

Глава III: Органы

+ +

Статья 7

+ +
    +
  1. В качестве главных органов Организации Объединенных Наций учреждаются: Генеральная Ассамблея, Совет Безопасности, Экономический и Социальный Совет, Совет по Опеке, Международный Суд и Секретариат.
  2. +
  3. Вспомогательные органы, которые окажутся необходимыми, могут учреждаться в соответствии с настоящим Уставом.
  4. +
+ +

Статья 8

+ +

Организация Объединенных Наций не устанавливает никаких ограничений в отношении права мужчин и женщин участвовать в любом качестве и на равных условиях в ее главных и вспомогательных органах.

+ +

Глава IV: Генеральная Ассамблея

+ +

СОСТАВ

+ +

Статья 9

+ +
    +
  1. Генеральная Ассамблея состоит из всех Членов Организации.
  2. +
  3. Каждый Член Организации имеет не более пяти представителей в Генеральной Ассамблее.
  4. +
+ +

ФУНКЦИИ и ПОЛНОМОЧИЯ

+ +

Статья 10

+ +

Генеральная Ассамблея уполномочивается обсуждать любые вопросы или дела в пределах настоящего Устава или относящиеся к полномочиям и функциям любого из органов, предусмотренных настоящим Уставом, и, за исключениями, предусмотренными статьей 12, делать рекомендации Членам Организации Объединенных Наций или Совету Безопасности или и Членам Организации и Совету Безопасности по любым таким вопросам или делам.

+ +

Статья 11

+ +
    +
  1. Генеральная Ассамблея уполномочивается рассматривать общие принципы сотрудничества в деле поддержания международного мира и безопасности, в том числе принципы, определяющие разоружение и регулирование вооружений, и делать в отношении этих принципов рекомендации Членам Организации или Совету Безопасности или и Членам Организации и Совету Безопасности.
  2. +
  3. Генеральная Ассамблея уполномочивается обсуждать любые вопросы, относящиеся к поддержанию международного мира и безопасности, поставленные перед нею любым Членом Организации или Советом Безопасности или государством, которое не является Членом Организации, в соответствии с пунктом 2 статьи 35, и за исключениями, предусмотренными статьей 12, делать в отношении любых таких вопросов рекомендации заинтересованному государству или государствам или Совету Безопасности или и Совету Безопасности и заинтересованному государству или государствам. Любой такой вопрос, по которому необходимо предпринять действие, передается Генеральной Ассамблеей Совету Безопасности до или после обсуждения.
  4. +
  5. Генеральная Ассамблея может обращать внимание Совета Безопасности на ситуации, которые могли бы угрожать международному миру и безопасности.
  6. +
  7. Полномочия Генеральной Ассамблеи, изложенные в настоящей статье, не должны ограничивать общего смысла статьи 10.
  8. +
+ +

Статья 12

+ +
    +
  1. Когда Совет Безопасности выполняет возложенные на него настоящим Уставом функции по отношению к какому-либо спору или ситуации, Генеральная Ассамблея не может делать какие-либо рекомендации, касающиеся данного спора или ситуации, если Совет Безопасности не запросит об этом.
  2. +
  3. Генеральный Секретарь, с согласия Совета Безопасности, уведомляет Генеральную Ассамблею на каждой ее сессии о всех вопросах, относящихся к поддержанию международного мира и безопасности, находящихся на рассмотрении Совета Безопасности, и таким же образом уведомляет Генеральную Ассамблею, а если Генеральная Ассамблея не заседает, то Членов Организации, немедленно, как только Совет Безопасности прекратит рассмотрение таких вопросов.
  4. +
+ +

Статья 13

+ +
    +
  1. Генеральная Ассамблея организует исследования и делает рекомендации в целях: +
      +
    1. Содействия международному сотрудничеству в политической области и поощрения прогрессивного развития международного права и его кодификации;
    2. +
    3. Содействия международному сотрудничеству в области экономической, социальной, культуры, образования, здравоохранения и содействия осуществлению прав человека и основных свобод для всех, без различия расы, пола, языка и религии.
    4. +
    +
  2. +
  3. Дальнейшие обязанности, функции и полномочия Генеральной Ассамблеи в отношении вопросов, упомянутых выше в пункте 1b, изложены в Главах IX и X.
  4. +
+ +

Статья 14

+ +

С соблюдением положений статьи 12, Генеральная Ассамблея уполномочивается рекомендовать меры мирного улаживания любой ситуации, независимо от ее происхождения, которая, по мнению Ассамблеи, могла бы нарушить общее благополучие или дружественные отношения между нациями, включая ситуации, возникающие в результате нарушения положений настоящего Устава, излагающих Цели и Принципы Объединенных Наций.

+ +

Статья 15

+ +
    +
  1. Генеральная Ассамблея получает и рассматривает ежегодные и специальные доклады Совета Безопасности; эти доклады должны включать отчет о мерах по поддержанию международного мира и безопасности, которые Совет Безопасности решил предпринять или предпринял.
  2. +
  3. Генеральная Ассамблея получает и рассматривает доклады других органов Организации.
  4. +
+ +

Статья 16

+ +

Генеральная Ассамблея выполняет в отношении международной системы опеки такие функции, которые возложены на нее на основании Глав XII и XIII, включая утверждение соглашений по опеке для территорий, не относящихся к числу стратегических.

+ +

Статья 17

+ +
    +
  1. Генеральная Ассамблея рассматривает и утверждает бюджет Организации.
  2. +
  3. Члены Организации несут ее расходы по распределению, установленному Генеральной Ассамблеей.
  4. +
  5. Генеральная Ассамблея рассматривает и утверждает любые финансовые и бюджетные соглашения со специализированными учреждениями, упомянутыми в статье 57, и проверяет административные бюджеты таких специализированных учреждений с той целью, чтобы сделать рекомендации заинтересованным учреждениям.
  6. +
+ +

ГОЛОСОВАНИЕ

+ +

Статья 18

+ +
    +
  1. Каждый Член Генеральной Ассамблеи имеет один голос.
  2. +
  3. Решения Генеральной Ассамблеи по важным вопросам принимаются большинством в две трети присутствующих и участвующих в голосовании членов Ассамблеи. Эти вопросы включают: рекомендации в отношении поддержания международного мира и безопасности, выборы непостоянных членов Совета Безопасности, выборы членов Экономического и Социального Совета, выборы членов Совета по Опеке, в соответствии с пунктом 1с статьи 86, прием новых Членов в Организацию Объединенных Наций, приостановление прав и привилегий Членов Организации, исключение из Организации ее Членов, вопросы, относящиеся к функционированию системы опеки, и бюджетные вопросы.
  4. +
  5. Решения по другим вопросам, включая определение дополнительных категорий вопросов, которые подлежат решению большинством в две трети голосов, принимаются простым большинством присутствующих и участвующих в голосовании.
  6. +
+ +

Статья 19

+ +

Член Организации, за которым числится задолженность по уплате Организации денежных взносов, лишается права голоса в Генеральной Ассамблее, если сумма его задолженности равняется или превышает сумму взносов, причитающихся с него за два полных предыдущих года. Генеральная Ассамблея может, однако, разрешить такому Члену Организации участвовать в голосовании, если она признает, что просрочка платежа произошла по не зависящим от него обстоятельствам.

+ +

ПРОЦЕДУРА

+ +

Статья 20

+ +

Генеральная Ассамблея собирается на очередные ежегодные сессии и на такие специальные сессии, которых могут потребовать обстоятельства. Специальные сессии созываются Генеральным Секретарем по требованию Совета Безопасности или большинства Членов Организации.

+ +

Статья 21

+ +

Генеральная Ассамблея устанавливает свои собственные правила процедуры. Она избирает своего Председателя на каждую сессию.

+ +

Статья 22

+ +

Генеральная Ассамблея уполномочивается учреждать такие вспомогательные органы, которые она сочтет необходимыми для осуществления своих функций.

+ +

Глава V: Совет Безопасности

+ +

СОСТАВ

+ +

Статья 23

+ +
    +
  1. Совет Безопасности состоит из пятнадцати Членов Организации. Китайская Республика, Франция, Союз Советских Социалистических Республик, Соединенное Королевство Великобритании и Северной Ирландии и Соединенные Штаты Америки являются постоянными членами Совета Безопасности. Генеральная Ассамблея избирает десять других Членов Организации в качестве непостоянных членов Совета Безопасности, уделяя, в особенности, должное внимание, в первую очередь, степени участия Членов Организации в поддержании международного мира и безопасности и в достижении других целей Организации, а также справедливому географическому распределению.
  2. +
  3. Непостоянные члены Совета Безопасности избираются на двухгодичный срок. При первых выборах непостоянных членов, после увеличения Совета Безопасности с одиннадцати до пятнадцати, два из четырех дополнительных членов избираются на срок в один год. Выбывающий член Совета Безопасности не подлежит немедленному переизбранию.
  4. +
  5. Каждый член Совета Безопасности имеет одного представителя.
  6. +
+ +

ФУНКЦИИ И ПОЛНОМОЧИЯ

+ +

Статья 24

+ +
    +
  1. Для обеспечения быстрых и эффективных действий Организации Объединенных Наций ее Члены возлагают на Совет Безопасности главную ответственность за поддержание международного мира и безопасности и соглашаются в том, что при исполнении его обязанностей, вытекающих из этой ответственности, Совет Безопасности действует от их имени.
  2. +
  3. При исполнении этих обязанностей Совет Безопасности действует в соответствии с Целями и Принципами Объединенных Наций. Определенные полномочия, предоставленные Совету Безопасности для выполнения этих обязанностей, изложены в Главах VI, VII, VIII и XII.
  4. +
  5. Совет Безопасности представляет на рассмотрение Генеральной Ассамблее ежегодные доклады и, по мере надобности, специальные доклады.
  6. +
+ +

Статья 25

+ +

Члены Организации соглашаются, в соответствии с настоящим Уставом, подчиняться с решениями Совета Безопасности и выполнять их.

+ +

Статья 26

+ +

В целях содействия установлению и поддержанию международного мира и безопасности с наименьшим отвлечением мировых людских сил и экономических ресурсов для дела вооружения, Совет Безопасности несет ответственность за формулирование, при помощи Военно-Штабного Комитета, указанного в статье 47, планов создания системы регулирования вооружений для представления их Членам Организации.

+ +

ГОЛОСОВАНИЕ

+ +

Статья 27

+ +
    +
  1. Каждый член Совета Безопасности имеет один голос.
  2. +
  3. Решения Совета Безопасности по вопросам процедуры считаются принятыми, когда за них поданы голоса девяти членов Совета.
  4. +
  5. Решения Совета Безопасности по всем другим вопросам считаются принятыми, когда за них поданы голоса девяти членов Совета, включая совпадающие голоса всех постоянных членов Совета, причем сторона, участвующая в споре, должна воздержаться от голосования при принятии решения на основании Главы VI и на основании пункта 3 статьи 52.
  6. +
+ +

ПРОЦЕДУРА

+ +

Статья 28

+ +
    +
  1. Совет Безопасности организуется таким образом, чтобы он мог функционировать непрерывно. Для этой цели каждый член Совета Безопасности должен быть всегда представлен в месте пребывания Организации Объединенных Наций.
  2. +
  3. Совет Безопасности собирается на периодические заседания, на которых каждый из его членов может, по своему желанию, быть представлен или членом правительства или каким-либо другим особо назначенным представителем.
  4. +
  5. Заседания Совета Безопасности могут происходить не только в месте пребывания Организации, но и во всяком другом месте, которое, по мнению Совета, более способствует его работе.
  6. +
+ +

Статья 29

+ +

Совет Безопасности может учреждать такие вспомогательные органы, какие он найдет необходимыми для выполнения своих функций.

+ +

Статья 30

+ +

Совет Безопасности устанавливает свои правила процедуры, включая порядок избрания своего Председателя.

+ +

Статья 31

+ +

Любой Член Организации, который не является членом Совета Безопасности, может принять участие, без права голоса, в обсуждении любого вопроса, внесенного в Совет Безопасности, во всех тех случаях, когда Совет Безопасности находит, что интересы этого Члена Организации специально затронуты.

+ +

Статья 32

+ +

Любой Член Организации, который не состоит членом Совета Безопасности, или любое государство, не состоящее Членом Организации, если они являются сторонами в споре, рассматриваемом Советом Безопасности, приглашаются принять участие, без права голоса, в обсуждении, относящемся к этому спору. Совет Безопасности ставит такие условия для участия государства, не состоящего Членом Организации, какие он найдет справедливыми.

+ +

Глава VI: Мирное разрешение споров

+ +

Статья 33

+ +
    +
  1. Стороны, участвующие в любом споре, продолжение которого могло бы угрожать поддержанию международного мира и безопасности, должны прежде всего стараться разрешить спор путем переговоров, обследования, посредничества, примирения, арбитража, судебного разбирательства, обращения к региональным органам или соглашениям или иными мирными средствами по своему выбору.
  2. +
  3. Совет Безопасности, когда он считает это необходимым, требует от сторон разрешения их спора при помощи таких средств.
  4. +
+ +

Статья 34

+ +

Совет Безопасности уполномочивается расследовать любой спор или любую ситуацию, которая может привести к международным трениям или вызвать спор, для определения того, не может ли продолжение этого спора или ситуации угрожать поддержанию международного мира и безопасности.

+ +

Статья 35

+ +
    +
  1. Любой Член Организации может довести о любом споре или ситуации, имеющей характер, указанный в статье 34, до сведения Совета Безопасности или Генеральной Ассамблеи.
  2. +
  3. Государство, которое не является Членом Организации, может довести до сведения Совета Безопасности или Генеральной Ассамблеи о любом споре, в котором оно является стороной, если оно примет на себя заранее в отношении этого спора обязательства мирного разрешения споров, предусмотренные в настоящем Уставе.
  4. +
  5. Разрешение Генеральной Ассамблеей дел, о которых доведено до ее сведения на основании настоящей статьи, производится с учетом положений статей 11 и 12.
  6. +
+ +

Статья 36

+ +
    +
  1. Совет Безопасности уполномочивается в любой стадии спора, имеющего характер, указанный в статье 33, или ситуации подобного же характера рекомендовать надлежащую процедуру или методы урегулирования.
  2. +
  3. Совет Безопасности принимает во внимание любую процедуру для разрешения этого спора, которая уже была принята сторонами.
  4. +
  5. Делая рекомендации на основании настоящей статьи, Совет Безопасности принимает также во внимание, что споры юридического характера должны, как общее правило, передаваться сторонами в Международный Суд в соответствии с положениями Статута Суда.
  6. +
+ +

Статья 37

+ +
    +
  1. Если стороны в споре, имеющем характер, указанный в статье 33, не разрешат его при помощи указанных в этой статье средств, они передают его в Совет Безопасности.
  2. +
  3. Если Совет Безопасности считает, что продолжение данного спора в действительности могло бы угрожать поддержанию международного мира и безопасности, он решает, действовать ли ему на основании статьи 36 или рекомендовать такие условия разрешения спора, какие он найдет подходящими.
  4. +
+ +

Статья 38

+ +

Без ущерба для положений статей 33–37 Совет Безопасности уполномочивается, если все стороны, участвующие в любом споре, об этом просят, делать сторонам рекомендации с целью мирного разрешения этого спора.

+ +

Глава VII: Действия в отношении угрозы миру, нарушений мира и актов агрессии

+ +

Статья 39

+ +

Совет Безопасности определяет существование любой угрозы миру, любого нарушения мира или акта агрессии и делает рекомендации или решает о том, какие меры следует предпринять в соответствии со статьями 41 и 42 для поддержания или восстановления международного мира и безопасности.

+ +

Статья 40

+ +

Чтобы предотвратить ухудшение ситуации, Совет Безопасности уполномочивается, прежде чем сделать рекомендации или решить о принятии мер, предусмотренных статьей 39, потребовать от заинтересованных сторон выполнения тех временных мер, которые он найдет необходимыми или желательными. Такие временные меры не должны наносить ущерба правам, притязаниям или положению заинтересованных сторон. Совет Безопасности должным образом учитывает невыполнение этих временных мер.

+ +

Статья 41

+ +

Совет Безопасности уполномочивается решать, какие меры, не связанные с использованием вооруженных сил, должны применяться для осуществления его решений, и он может потребовать от Членов Организации применения этих мер. Эти меры могут включать полный или частичный перерыв экономических отношений, железнодорожных, морских, воздушных, почтовых, телеграфных, радио или других средств сообщения, а также разрыв дипломатических отношений.

+ +

Статья 42

+ +

Если Совет Безопасности сочтет, что меры, предусмотренные в статье 41, могут оказаться недостаточными или уже оказались недостаточными, он уполномочивается предпринимать такие действия воздушными, морскими или сухопутными силами, какие окажутся необходимыми для поддержания или восстановления международного мира и безопасности. Такие действия могут включать демонстрации, блокаду и другие операции воздушных, морских или сухопутных сил Членов Организации.

+ +

Статья 43

+ +
    +
  1. Все Члены Организации для того, чтобы внести свой вклад в дело поддержания международного мира и безопасности, обязуются предоставлять в распоряжение Совета Безопасности по его требованию и в соответствии с особым соглашением или соглашениями необходимые для поддержания международного мира и безопасности вооруженные силы, помощь и соответствующие средства обслуживания, включая право прохода.
  2. +
  3. Такое соглашение или соглашения определяют численность и род войск, степень их готовности и их общее расположение и характер предоставляемых средств обслуживания и помощи.
  4. +
  5. Переговоры о заключении соглашения или соглашений предпринимаются в возможно кратчайший срок по инициативе Совета Безопасности. Они заключаются между Советом Безопасности и Членами Организации или между Советом Безопасности и группами Членов Организации и подлежат ратификации подписавшими их государствами, в соответствии с их конституционной процедурой.
  6. +
+ +

Статья 44

+ +

Когда Совет Безопасности решил применить силу, то, прежде чем потребовать от Члена Организации, не представленного в Совете, предоставления вооруженных сил во исполнение обязательств, принятых им на основании статьи 43, Совет Безопасности приглашает этого Члена Организации, если последний этого пожелает, принять участие в решениях Совета Безопасности относительно использования контингентов вооруженных сил данного Члена Организации.

+ +

Статья 45

+ +

В целях обеспечения для Организации Объединенных Наций возможности предпринимать срочные военные мероприятия, Члены Организации должны держать в состоянии немедленной готовности контингенты национальных военно-воздушных сил для совместных международных принудительных действий. Численность и степень готовности этих контингентов и планы их совместных действий определяются Советом Безопасности с помощью Военно-Штабного Комитета в пределах, указанных в особом соглашении или соглашениях, упомянутых в статье 43.

+ +

Статья 46

+ +

Планы применения вооруженных сил составляются Советом Безопасности с помощью Военно-Штабного Комитета.

+ +

Статья 47

+ +
    +
  1. Создается Военно-Штабной Комитет для того, чтобы давать советы и оказывать помощь Совету Безопасности по всем вопросам, относящимся к военным потребностям Совета Безопасности в деле поддержания международного мира и безопасности, к использованию войск, предоставленных в его распоряжение, и к командованию ими, а также к регулированию вооружений и к возможному разоружению.
  2. +
  3. Военно-Штабной Комитет состоит из Начальников Штабов постоянных членов Совета Безопасности или их представителей. Любой Член Организации, не представленный постоянно в Комитете, приглашается Комитетом сотрудничать с ним, если эффективное осуществление обязанностей Комитета требует участия этого Члена Организации в работе Комитета.
  4. +
  5. Военно-Штабной Комитет, находясь в подчинении Совета Безопасности, несет ответственность за стратегическое руководство любыми вооруженными силами, предоставленными в распоряжение Совета Безопасности. Вопросы, относящиеся к командованию такими силами, должны быть разработаны позднее.
  6. +
  7. Военно-Штабной Комитет может, с разрешения Совета Безопасности и после консультации с надлежащими региональными органами, учреждать свои региональные подкомитеты.
  8. +
+ +

Статья 48

+ +
    +
  1. Действия, которые требуются для выполнения решений Совета Безопасности в целях поддержания международного мира и безопасности, предпринимаются всеми Членами Организации или некоторыми из них, в зависимости от того, как это определит Совет Безопасности.
  2. +
  3. Такие решения выполняются Членами Организации непосредственно, а также путем их действий в соответствующих международных учреждениях, членами которых они являются.
  4. +
+ +

Статья 49

+ +

Члены Организации должны объединяться для оказания взаимной помощи в проведении мер, о которых принято решение Советом Безопасности.

+ +

Статья 50

+ +

Если Советом Безопасности принимаются превентивные или принудительные меры против какого-либо государства, всякое другое государство, независимо от того, состоит ли оно Членом Организации, перед которым встанут специальные экономические проблемы, возникшие из проведения вышеупомянутых мер, имеет право консультироваться с Советом Безопасности на предмет разрешения таких проблем.

+ +

Статья 51

+ +

Настоящий Устав ни в коей мере не затрагивает неотъемлемого права на индивидуальную или коллективную самооборону, если произойдет вооруженное нападение на Члена Организации, до тех пор пока Совет Безопасности не примет мер, необходимых для поддержания международного мира и безопасности. Меры, принятые Членами Организации при осуществлении этого права на самооборону, должны быть немедленно сообщены Совету Безопасности и никоим образом не должны затрагивать полномочий и ответственности Совета Безопасности, в соответствии с настоящим Уставом, в отношении предпринятия в любое время таких действий, какие он сочтет необходимыми для поддержания или восстановления международного мира и безопасности.

+ +

Глава VIII: Региональные соглашения

+ +

Статья 52

+ +
    +
  1. Настоящий Устав ни в коей мере не препятствует существованию региональных соглашений или органов для разрешения таких вопросов, относящихся к поддержанию международного мира и безопасности, которые являются подходящими для региональных действий, при условии, что такие соглашения или органы и их деятельность совместимы с Целями и Принципами Организации.
  2. +
  3. Члены Организации, заключившие такие соглашения или составляющие такие органы, должны приложить все свои усилия для достижения мирного разрешения местных споров при помощи таких региональных соглашений или таких региональных органов до передачи этих споров в Совет Безопасности.
  4. +
  5. Совет Безопасности должен поощрять развитие применения мирного разрешения местных споров при помощи таких региональных соглашений или таких региональных органов либо по инициативе заинтересованных государств, либо по своей собственной инициативе.
  6. +
  7. Настоящая статья ни в коей мере не затрагивает применения статей 34 и 35.
  8. +
+ +

Статья 53

+ +
    +
  1. Совет Безопасности использует, где это уместно, такие региональные соглашения или органы для принудительных действий под его руководством. Однако никакие принудительные действия не предпринимаются, в силу этих региональных соглашений или региональными органами, без полномочий от Совета Безопасности, за исключением мер, предусмотренных статьей 107, против любого вражеского государства, как оно определено в пункте 2 настоящей статьи, или мер, предусмотренных в региональных соглашениях, направленных против возобновления агрессивной политики со стороны любого такого государства до того времени, когда на Организацию, по просьбе заинтересованных Правительств, может быть возложена ответственность за предупреждение дальнейшей агрессии со стороны такого государства.
  2. +
  3. Термин «вражеское государство», как он применен в пункте 1 настоящей статьи, относится к любому государству, которое в течение второй мировой войны являлось врагом любого из государств, подписавших настоящий Устав.
  4. +
+ +

Статья 54

+ +

Совет Безопасности должен быть всегда полностью информирован о действиях, предпринятых или намечаемых в силу региональных соглашений или региональными органами, для поддержания международного мира и безопасности.

+ +

ГЛАВА IX: Международное экономическое и социальное сотрудничество

+ +

Статья 55

+ +

С целью создания условий стабильности и благополучия, необходимых для мирных и дружеских отношений между нациями, основанных на уважении принципа равноправия и самоопределения народов, Организация Объединенных Наций содействует:

+ +
    +
  1. Повышению уровня жизни, полной занятости населения и условиям экономического и социального прогресса и развития;
  2. +
  3. Разрешению международных проблем в области экономической, социальной, здравоохранения и подобных проблем; международному сотрудничеству в области культуры и образования;
  4. +
  5. Всеобщему уважению и соблюдению прав человека и основных свобод для всех, без различия расы, пола, языка и религии.
  6. +
+ +

Статья 56

+ +

Все Члены Организации обязуются предпринимать совместные и самостоятельные действия в сотрудничестве с Организацией для достижения целей, указанных в статье 55.

+ +

Статья 57

+ +
    +
  1. Различные специализированные учреждения, созданные межправительственными соглашениями и облеченные широко международной, определенной в их учредительных актах, ответственностью в области экономической, социальной, культуры, образования, здравоохранения и подобных областях, будут поставлены в связь с Организацией в соответствии с положениями статьи 63.
  2. +
  3. Такие учреждения, которые будут поставлены указанным образом в связь с Организацией, именуются в последующих статьях «специализированные учреждения».
  4. +
+ +

Статья 58

+ +

Организация делает рекомендации по согласованию политики и деятельности специализированных учреждений.

+ +

Статья 59

+ +

Организация, в случае надобности, проявляет инициативу в том, чтобы заинтересованные государства приступили к переговорам о создании любых новых специализированных учреждений, которые потребуются для выполнения целей, указанных в статье 55.

+ +

Статья 60

+ +

Ответственность за выполнение функций Организации, указанных в настоящей Главе, возлагается на Генеральную Ассамблею и, под руководством Генеральной Ассамблеи, на Экономический и Социальный Совет, которому для этой цели предоставляются полномочия, указанные в Главе X.

+ +

Глава X: Экономический и Социальный Совет

+ +

СОСТАВ

+ +

Статья 61

+ +
    +
  1. Экономический и Социальный Совет состоит из пятидесяти четырех Членов Организации, избираемых Генеральной Ассамблеей.
  2. +
  3. С соблюдением положений, изложенных в пункте 3, восемнадцать членов Экономического и Социального Совета избираются ежегодно сроком на три года. Выбывающий член Совета может быть переизбран немедленно.
  4. +
  5. При первых выборах после увеличения числа членов Экономического и Социального Совета с двадцати семи до пятидесяти четырех, в дополнение к членам, избираемым вместо девяти членов, срок полномочий которых истекает в конце данного года, избираются двадцать семь дополнительных членов. Срок полномочий девяти из двадцати семи дополнительных членов, избранных таким образом, истекает в конце первого года, а срок полномочий других девяти членов — в конце второго года, в соответствии с постановлением Генеральной Ассамблеи.
  6. +
  7. Каждый член Экономического и Социального Совета имеет одного представителя.
  8. +
+ +

ФУНКЦИИ И ПОЛНОМОЧИЯ

+ +

Статья 62

+ +
    +
  1. Экономический и Социальный Совет уполномочивается предпринимать исследования и составлять доклады по международным вопросам в области экономической, социальной, культуры, образования, здравоохранения и подобным вопросам или побуждать к этому других, а также делать по любому из этих вопросов рекомендации Генеральной Ассамблее, Членам Организации и заинтересованным специализированным учреждениям.
  2. +
  3. Совет уполномочивается делать рекомендации в целях поощрения уважения и соблюдения прав человека и основных свобод для всех.
  4. +
  5. Совет уполномочивается подготавливать для представления Генеральной Ассамблее проекты конвенций по вопросам, входящим в его компетенцию.
  6. +
  7. Совет уполномочивается созывать, в соответствии с правилами, предписанными Организацией, международные конференции по вопросам, входящим в его компетенцию.
  8. +
+ +

Статья 63

+ +
    +
  1. Экономический и Социальный Совет уполномочивается вступать с любым из учреждений, указанных в статье 57, в соглашения, определяющие условия, на которых соответствующие учреждения будут поставлены в связь с Организацией. Такие соглашения подлежат утверждению Генеральной Ассамблеей.
  2. +
  3. Совет уполномочивается согласовывать деятельность специализированных учреждений посредством консультаций с ними и рекомендаций таким учреждениям и посредством рекомендаций Генеральной Ассамблее и Членам Организации.
  4. +
+ +

Статья 64

+ +
    +
  1. Экономический и Социальный Совет уполномочивается принимать надлежащие меры для получения от специализированных учреждений регулярных докладов. Совет уполномочивается заключать соглашения с Членами Организации и со специализированными учреждениями с целью получения от них докладов о мерах, предпринятых ими во исполнение его собственных рекомендаций и рекомендаций Генеральной Ассамблеи по вопросам, входящим в его компетенцию.
  2. +
  3. Совет уполномочивается сообщать Генеральной Ассамблее свои замечания по этим докладам.
  4. +
+ +

Статья 65

+ +

Экономический и Социальный Совет уполномочивается представлять Совету Безопасности информацию и, по предложению Совета Безопасности, обязан ему помогать.

+ +

Статья 66

+ +
    +
  1. Экономический и Социальный Совет осуществляет такие функции, какие входят в его компетенцию, в связи с выполнением рекомендаций Генеральной Ассамблеи.
  2. +
  3. Совет, с одобрения Генеральной Ассамблеи, уполномочивается выполнять работы по просьбе Членов Организации и по просьбе специализированных учреждений.
  4. +
  5. Совет должен выполнять такие другие функции, какие перечислены в других частях настоящего Устава или какие могут быть возложены на него Генеральной Ассамблеей.
  6. +
+ +

ГОЛОСОВАНИЕ

+ +

Статья 67

+ +
    +
  1. Каждый член Экономического и Социального Совета имеет один голос.
  2. +
  3. Решения Экономического и Социального Совета принимаются большинством голосов членов Совета, присутствующих и участвующих в голосовании.
  4. +
+ +

ПРОЦЕДУРА

+ +

Статья 68

+ +

Экономический и Социальный Совет создает комиссии в экономической и социальной области и по поощрению прав человека, а также такие другие комиссии, которые могут потребоваться для выполнения его функций.

+ +

Статья 69

+ +

Экономический и Социальный Совет приглашает любого Члена Организации участвовать без права голоса в обсуждении им любого вопроса, представляющего особый интерес для данного Члена Организации.

+ +

Статья 70

+ +

Экономический и Социальный Совет уполномочивается проводить мероприятия для участия без права голоса представителей специализированных учреждений в обсуждении вопросов в Совете или в созданных им комиссиях, а также для участия представителей Совета в обсуждении вопросов в специализированных учреждениях.

+ +

Статья 71

+ +

Экономический и Социальный Совет уполномочивается проводить надлежащие мероприятия для консультации с неправительственными организациями, заинтересованными в вопросах, входящих в его компетенцию. Такие мероприятия могут быть условлены с международными организациями, а в случае надобности, с национальными организациями после консультации с заинтересованным Членом Организации.

+ +

Статья 72

+ +
    +
  1. Экономический и Социальный Совет устанавливает свои собственные правила процедуры, включая порядок избрания своего Председателя.
  2. +
  3. Экономический и Социальный Совет созывается по мере надобности, в соответствии со своими правилами, которые должны включать положения о созыве заседаний по требованию большинства его членов.
  4. +
+ +

Глава XI: Декларация в отношении несамоуправляющихся территорий

+ +

Статья 73

+ +

Члены Организации Объединенных Наций, которые несут или принимают на себя ответственность за управление территориями, народы которых не достигли еще полного самоуправления, признают тот принцип, что интересы населения этих территорий являются первостепенными, и, как священный долг, принимают обязательство максимально способствовать благополучию населения этих территорий в рамках системы международного мира и безопасности, установленной настоящим Уставом, и с этой целью:

+ +
    +
  1. Обеспечивать, соблюдая должное уважение к культуре указанных народов, их политический, экономический и социальный прогресс, прогресс в области образования, справедливое обращение с ними и защиту их от злоупотреблений;
  2. +
  3. Развивать самоуправление, учитывать должным образом политические стремления этих народов и помогать им в прогрессивном развитии их свободных политических институтов в соответствии со специфическими обстоятельствами, присущими каждой территории и ее народам, и с их разными ступенями развития;
  4. +
  5. Укреплять международный мир и безопасность;
  6. +
  7. Способствовать развитию созидательных мероприятий, поощрять исследования и сотрудничать друг с другом и, где и когда это уместно, со специализированными международными организациями ради практического достижения изложенных в настоящей статье социальных, экономических и научных целей, и
  8. +
  9. Передавать регулярно Генеральному Секретарю для информации и с таким ограничением, какое может потребоваться по соображениям безопасности и конституционного порядка, статистическую и другую информацию специального характера, относящуюся к экономическим и социальным условиям, а также условиям образования на территориях, за которые они соответственно несут ответственность, кроме тех территорий, на которые распространяется действие Глав XII и XIII.
  10. +
+ +

Статья 74

+ +

Члены Организации также соглашаются, что их политика в отношении территорий, на которые распространяется действие настоящей Главы, должна быть основана не менее, чем в отношении их метрополий, на общем принципе добрососедства, с надлежащим учетом интересов и благополучия остального мира в делах социальных, экономических и торговли.

+ +

Глава XII: Международная система опеки

+ +

Статья 75

+ +

Организация Объединенных Наций создает под своим руководством международную систему опеки для управления теми территориями, которые могут быть включены в нее последующими индивидуальными соглашениями, и для наблюдения за этими территориями. Эти территории именуются далее «территории под опекой».

+ +

Статья 76

+ +

Основные задачи системы опеки, в соответствии с Целями Организации Объединенных Наций, изложенными в статье 1 настоящего Устава, состоят в том, чтобы:

+ +
    +
  1. Укреплять международный мир и безопасность;
  2. +
  3. Способствовать политическому, экономическому и социальному прогрессу населения территорий под опекой, его прогрессу в области образования и его прогрессивному развитию в направлении к самоуправлению или независимости, как это может оказаться подходящим для специфических условий каждой территории и ее народов и имея в виду свободно выраженное желание этих народов, и как это может быть предусмотрено условиями каждого соглашения об опеке;
  4. +
  5. Поощрять уважение прав человека и основных свобод для всех, без различия расы, пола, языка, религии, и поощрять признание взаимозависимости народов мира;
  6. +
  7. Обеспечивать равное отношение к Членам Организации и их гражданам в области социальной, экономической и торговой, а также равное отношение к ним в отправлении правосудия без ущерба для достижения выше изложенных задач и при условии соблюдения положений статьи 80.
  8. +
+ +

Статья 77

+ +
    +
  1. Система опеки распространяется на такие территории из ниже перечисленных категорий, которые могут быть включены в нее соглашениями об опеке: +
      +
    1. Территории, ныне находящиеся под мандатом;
    2. +
    3. Территории, которые могут быть отторгнуты от вражеских государств в результате второй мировой войны, и
    4. +
    5. Территории, добровольно включенные в систему опеки государствами, ответственными за их управление.
    6. +
    +
  2. +
  3. Вопрос о том, какие из территорий выше перечисленных категорий должны быть включены в систему опеки и на каких условиях, будет предметом последующего соглашения.
  4. +
+ +

Статья 78

+ +

Система опеки не распространяется на страны, ставшие Членами Организации, отношения между которыми должны основываться на уважении принципа суверенного равенства.

+ +

Статья 79

+ +

Условия опеки для каждой территории, подлежащей включению в систему опеки, в том числе все изменения и поправки, определяются соглашениями непосредственно заинтересованных государств, включая страны-мандатарии, в том случае, если территории находятся под мандатом одного из Членов Организации, и утверждаются, как предусмотрено в статьях 83 и 85.

+ +

Статья 80

+ +
    +
  1. За исключением случаев, которые могут быть согласованы в индивидуальных соглашениях об опеке, заключенных согласно статьям 77, 79 и 81, включающих каждую территорию в систему опеки, и впредь до заключения таких соглашений, ничто в настоящей Главе не должно толковаться как изменение каким-либо образом каких бы то ни было прав любых государств или любых народов или условий существующих международных соглашений, участниками которых могут быть соответственно Члены Организации.
  2. +
  3. Пункт 1 настоящей статьи не должен толковаться как дающий основания для задержки или отсрочки переговоров и заключения соглашений о включении под мандатных и других территорий в систему опеки, как это предусмотрено в статье 77.
  4. +
+ +

Статья 81

+ +

Соглашение об опеке в каждом случае должно включать условия, на которых будет управляться территория под опекой, а также определять власть, которая будет осуществлять управление территорией под опекой. Такая власть, называемая далее управляющей властью, может представлять собою одно или более государств или Организацию Объединенных Наций, как таковую.

+ +

Статья 82

+ +

В любом соглашении об опеке может определяться стратегический район или районы, которые могут включать часть или всю территорию под опекой, на которую распространяется соглашение, без ущерба для какого бы то ни было особого соглашения или соглашений, заключенных на основании статьи 43.

+ +

Статья 83

+ +
    +
  1. Все функции Организации Объединенных Наций, относящиеся к стратегическим районам, включая утверждение условий соглашений об опеке и их изменений или поправок к ним, осуществляются Советом Безопасности.
  2. +
  3. Основные цели, изложенные в статье 76, относятся к народу каждого из стратегических районов.
  4. +
  5. Совет Безопасности, соблюдая условия соглашений об опеке и без ущерба для требований безопасности, пользуется помощью Совета по Опеке для выполнения тех функций Организации Объединенных Наций, в соответствии с системой опеки, которые относятся к политическим, экономическим и социальным вопросам, а также к вопросам в области образования в стратегических районах.
  6. +
+ +

Статья 84

+ +

Обязанностью управляющей власти является обеспечение того, чтобы территория под опекой играла свою роль в поддержании международного мира и безопасности. С этой целью управляющая власть уполномочивается использовать добровольные вооруженные силы, средства обслуживания и помощь территории под опекой при выполнении обязательств, принятых в этом отношении управляющей властью перед Советом Безопасности, а равно и для местной обороны и поддержания закона и порядка в пределах территории под опекой.

+ +

Статья 85

+ +
    +
  1. Функции Организации Объединенных Наций в отношении соглашений об опеке для всех районов, не отнесенных к числу стратегических, включая утверждение условий соглашений об опеке и их изменений или поправок к ним, осуществляются Генеральной Ассамблеей.
  2. +
  3. Совет по Опеке, действующий под руководством Генеральной Ассамблеи, помогает Генеральной Ассамблее в выполнении этих функций.
  4. +
+ +

Глава XIII: Совет по Опеке

+ +

СОСТАВ

+ +

Статья 86

+ +
    +
  1. Совет по Опеке состоит из следующих Членов Организации Объединенных Наций: +
      +
    1. Тех Членов Организации, которые управляют территориями под опекой;
    2. +
    3. Тех Членов Организации, поименованных в статье 23, которые не управляют территориями под опекой;
    4. +
    5. Такого числа других Членов Организации, избранных Генеральной Ассамблеей на трехгодичный срок, какое может оказаться необходимым для обеспечения того, чтобы общее число членов Совета по Опеке распределялось поровну между Членами Организации, управляющими и не управляющими территориями под опекой.
    6. +
    +
  2. +
  3. Каждый Член Совета по Опеке назначит одно особо квалифицированное лицо, которое будет его представителем в Совете по Опеке.
  4. +
+ +

ФУНКЦИИ И ПОЛНОМОЧИЯ

+ +

Статья 87

+ +

Генеральная Ассамблея и находящийся под ее руководством Совет по Опеке при выполнении своих функций уполномочиваются:

+ +
    +
  1. Рассматривать отчеты, представляемые управляющей властью;
  2. +
  3. Принимать петиции и рассматривать их, консультируясь с управляющей властью;
  4. +
  5. Устраивать периодические посещения соответствующих территорий под опекой в согласованные с управляющей властью сроки; и
  6. +
  7. Предпринимать упомянутые и другие действия в соответствии с условиями соглашений об опеке.
  8. +
+ +

Статья 88

+ +

Совет по Опеке разрабатывает анкету относительно политического, экономического и социального прогресса населения каждой территории под опекой, а также его прогресса в области образования, а управляющая власть каждой территории под опекой, входящей в компетенцию Генеральной Ассамблеи, представляет последней ежегодные доклады на основе этой анкеты.

+ +

ГОЛОСОВАНИЕ

+ +

Статья 89

+ +
    +
  1. Каждый член Совета по Опеке имеет один голос.
  2. +
  3. Решения Совета по Опеке принимаются большинством голосов присутствующих и участвующих в голосовании членов Совета.
  4. +
+ +

ПРОЦЕДУРА

+ +

Статья 90

+ +
    +
  1. Совет по Опеке принимает свои собственные правила процедуры, включая порядок избрания своего Председателя.
  2. +
  3. Заседания Совета по Опеке созываются по мере надобности в соответствии с его правилами процедуры, которые должны предусматривать созыв заседаний по требованию большинства членов Совета.
  4. +
+ +

Статья 91

+ +

Совет по Опеке пользуется в соответствующих случаях помощью Экономического и Социального Совета и специализированных учреждений в отношении вопросов, в которых они соответственно заинтересованы.

+ +

Глава XIV: Международный Суд

+ +

Статья 92

+ +

Международный Суд является главным судебным органом Организации Объединенных Наций. Он действует в соответствии с прилагаемым Статутом, который основан на Статуте Постоянной Палаты Международного Правосудия и образует неотъемлемую часть настоящего Устава.

+ +

Статья 93

+ +
    +
  1. Все Члены Организации являются ipso facto участниками Статута Международного Суда.
  2. +
  3. Государство, не являющееся Членом Организации, может стать участником Статута Международного Суда на условиях, которые определяются, в каждом отдельном случае, Генеральной Ассамблеей по рекомендации Совета Безопасности.
  4. +
+ +

Статья 94

+ +
    +
  1. Каждый Член Организации обязуется выполнить решение Международного Суда по тому делу, в котором он является стороной.
  2. +
  3. В случае, если какая-либо сторона в деле не выполнит обязательства, возложенного на нее решением Суда, другая сторона может обратиться в Совет Безопасности, который может, если признает это необходимым, сделать рекомендации или решить о принятии мер для приведения решения в исполнение.
  4. +
+ +

Статья 95

+ +

Настоящий Устав ни в коей мере не препятствует Членам Организации поручать разрешение своих разногласий другим судам в силу уже существующих соглашений или таких, которые могут быть заключены в будущем.

+ +

Статья 96

+ +
    +
  1. Генеральная Ассамблея или Совет Безопасности могут запрашивать от Международного Суда консультативные заключения по любому юридическому вопросу.
  2. +
  3. Другие органы Организации Объединенных Наций и специализированные учреждения, которым Генеральная Ассамблея может дать в любое время разрешение на это, также могут запрашивать консультативные заключения Суда по юридическим вопросам, возникающим в пределах их круга деятельности.
  4. +
+ +

Глава XV: Секретариат

+ +

Статья 97

+ +

Секретариат состоит из Генерального Секретаря и такого персонала, который может потребоваться для Организации. Генеральный Секретарь назначается Генеральной Ассамблеей по рекомендации Совета Безопасности. Генеральный Секретарь является главным административным должностным лицом Организации.

+ +

Статья 98

+ +

Генеральный Секретарь действует в этом качестве на всех заседаниях Генеральной Ассамблеи, Совета Безопасности, Экономического и Социального Совета и Совета по Опеке и выполняет такие другие функции, какие возлагаются на него этими органами. Генеральный Секретарь представляет Генеральной Ассамблее ежегодный отчет о работе Организации.

+ +

Статья 99

+ +

Генеральный Секретарь имеет право доводить до сведения Совета Безопасности о любых вопросах, которые, по его мнению, могут угрожать поддержанию международного мира и безопасности.

+ +

Статья 100

+ +
    +
  1. При исполнении своих обязанностей Генеральный Секретарь и персонал Секретариата не должны запрашивать или получать указания от какого бы то ни было правительства или власти, посторонней для Организации. Они должны воздерживаться от любых действий, которые могли бы отразиться на их положении как международных должностных лиц, ответственных только перед Организацией.
  2. +
  3. Каждый Член Организации обязуется уважать строго международный характер обязанностей Генерального Секретаря и персонала Секретариата и не пытаться оказывать на них влияние при исполнении ими своих обязанностей.
  4. +
+ +

Статья 101

+ +
    +
  1. Персонал Секретариата назначается Генеральным Секретарем, согласно правилам, устанавливаемым Генеральной Ассамблеей.
  2. +
  3. Надлежащий персонал выделяется для постоянной работы в Экономический и Социальный Совет, в Совет по Опеке и, по мере надобности, в другие органы Организации. Этот персонал составляет часть Секретариата.
  4. +
  5. При приеме на службу и определении условий службы следует руководствоваться, главным образом, необходимостью обеспечить высокий уровень работоспособности, компетентности и добросовестности. Должное внимание следует уделять важности подбора персонала на возможно более широкой географической основе.
  6. +
+ +

Глава XVI: Разные постановления

+ +

Статья 102

+ +
    +
  1. Всякий договор и всякое международное соглашение, заключенные любым Членом Организации после вступления в силу настоящего Устава, должны быть, при первой возможности, зарегистрированы в Секретариате и им опубликованы.
  2. +
  3. Ни одна из сторон в любом таком договоре или международном соглашении, не зарегистрированных в соответствии с пунктом 1 настоящей статьи, не может ссылаться на такой договор или соглашение ни в одном из органов Организации Объединенных Наций.
  4. +
+ +

Статья 103

+ +

В том случае, когда обязательства Членов Организации по настоящему Уставу окажутся в противоречии с их обязательствами по какому-либо другому международному соглашению, преимущественную силу имеют обязательства по настоящему Уставу.

+ +

Статья 104

+ +

Организация Объединенных Наций пользуется на территории каждого из своих Членов такой правоспособностью, которая может оказаться необходимой для выполнения ее функций и достижения ее целей.

+ +

Статья 105

+ +
    +
  1. Организация Объединенных Наций пользуется на территории каждого из своих Членов такими привилегиями и иммунитетами, которые необходимы для достижения ее целей.
  2. +
  3. Представители Членов Организации и ее должностные лица также пользуются привилегиями и иммунитетами, которые необходимы для самостоятельного выполнения ими своих функций, связанных с деятельностью Организации.
  4. +
  5. Генеральная Ассамблея может делать рекомендации для определения деталей применения пунктов 1 и 2 настоящей статьи, а также может предлагать Членам Организации конвенции для этой цели.
  6. +
+ +

Глава XVII: Мероприятия по безопасности в переходный период

+ +

Статья 106

+ +

Впредь до вступления в силу таких упомянутых в статье 43 особых соглашений, какие, по мнению Совета Безопасности, дают ему возможность начать осуществление своих обязанностей, согласно статье 42, участники Декларации Четырех Держав, подписанной в Москве 30 октября 1943 г., и Франция будут, в соответствии с положениями пункта 5 этой Декларации, консультироваться друг с другом и, в случае необходимости, с другими Членами Организации с целью таких совместных действий от имени Организации, какие могут оказаться необходимыми для поддержания международного мира и безопасности.

+ +

Статья 107

+ +

Настоящий Устав ни в коей мере не лишает юридической силы действия, предпринятые или санкционированные в результате второй мировой войны несущими ответственность за такие действия правительствами, в отношении любого государства, которое в течение второй мировой войны было врагом любого из государств, подписавших настоящий Устав, а также не препятствует таким действиям.

+ +

Глава XVIII: Поправки

+ +

Статья 108

+ +

Поправки к настоящему Уставу вступают в силу для всех Членов Организации, после того как они приняты двумя третями голосов членов Генеральной Ассамблеи и ратифицированы, в соответствии с их конституционной процедурой, двумя третями Членов Организации, включая всех постоянных членов Совета Безопасности.

+ +

Статья 109

+ +
    +
  1. С целью пересмотра настоящего Устава может быть созвана Генеральная конференция Членов Организации Объединенных Наций в срок и в месте, которые должны быть определены двумя третями голосов членов Генеральной Ассамблеи и голосами любых девяти членов Совета Безопасности. Каждый Член Организации будет иметь на Конференции один голос.
  2. +
  3. Любое изменение настоящего Устава, рекомендованное двумя третями голосов участников Конференции, вступит в силу по ратификации, в соответствии с их конституционной процедурой, двумя третями Членов Организации, включая всех постоянных членов Совета Безопасности.
  4. +
  5. Если такая Конференция не состоится до десятой ежегодной сессии Генеральной Ассамблеи, считая со вступления настоящего Устава в силу, предложение созвать такую Конференцию включается в повестку дня этой сессии Генеральной Ассамблеи, и Конференция созывается, если это будет решено простым большинством голосов членов Генеральной Ассамблеи и голосами любых семи членов Совета Безопасности.
  6. +
+ +

Глава XIX: Ратификация и подписание

+ +

Статья 110

+ +
    +
  1. Настоящий Устав подлежит ратификации подписавшими его государствами, в соответствии с их конституционной процедурой.
  2. +
  3. Ратификационные грамоты должны сдаваться на хранение Правительству Соединенных Штатов Америки, которое будет извещать о сдаче на хранение каждой грамоты все государства, подписавшие Устав, также как и Генерального Секретаря Организации, когда он будет назначен.
  4. +
  5. Настоящий Устав вступит в силу по сдаче на хранение ратификационных грамот Китайской Республикой, Францией, Союзом Советских Социалистических Республик, Соединенным Королевством Великобритании и Северной Ирландии и Соединенными Штатами Америки и большинством других государств, подписавших Устав. После этого Правительством Соединенных Штатов Америки будет составлен протокол о сдаче на хранение ратификационных грамот, копии с которого будут разосланы всем подписавшим Устав государствам.
  6. +
  7. Государства, подписавшие настоящий Устав, которые ратифицируют его после того, как он вступит в силу, станут Первоначальными Членами Организации Объединенных Наций со дня сдачи ими на хранение своих соответствующих ратификационных грамот.
  8. +
+ +

Статья 111

+ +

Настоящий Устав, китайский, французский, русский, английский и испанский тексты которого являются равно аутентичными, будет храниться в архиве Правительства Соединенных Штатов Америки. Это Правительство препровождает копии Устава, должным образом заверенные, Правительствам всех других подписавших его государств.

+ +

В УДОСТОВЕРЕНИЕ ЧЕГО представители Правительств Объединенных Наций подписали настоящий Устав.

+ +

СОСТАВЛЕНО в городе Сан-Франциско, июня двадцать шестого дня, тысяча девятьсот сорок пятого года.

+ +

 

+ +

Поправки к статьям 23, 27, 61, 109

+ +

Поправки к статьям 23, 27 и 61 Устава были приняты Генеральной Ассамблеей 17 декабря 1963 года и вступили в силу 31 августа 1965 года. Поправка к статье 109, принятая Генеральной Ассамблеей 20 декабря 1965 года, вступила в силу 12 июня 1968 года. 

+ +

Поправка к статье 23 Устава увеличивает число членов Совета Безопасности с одиннадцати до пятнадцати. 

+ +

Исправленная статья 27 предусматривает, что решения Совета Безопасности по процедурным вопросам считаются принятыми, когда за них поданы голоса девяти членов (раньше — семи), и по всем другим вопросам — когда за них поданы голоса девяти членов (раньше — семи), включая совпадающие голоса пяти постоянных членов Совета Безопасности. 

+ +

Поправка к статье 61 увеличивает число членов Экономического и Социального Совета с восемнадцати до двадцати семи. Последующая поправка к этой статье, вступившая в силу 24 сентября 1973 года, увеличивает число членов Совета с двадцати семи до пятидесяти четырех.

+ +

Поправка к первому пункту статьи 109 предусматривает, что время и место проведения Генеральной конференции государств-членов с целью пересмотра Устава определяются двумя третями голосов членов Генеральной Ассамблеи и голосами любых девяти (раньше — семи) членов Совета Безопасности.  Пункт 3 статьи 109 , который предусматривает возможность созыва конференции по пересмотру Устава, был рассмотрен Генеральной Ассамблеей и Советом Безопасности на десятой очередной сессии Генеральной Ассамблеи в 1955 году и оставлен в его первоначальной формулировке: «голосами любых семи членов Совета Безопасности». 

+
+
+
+ + + +
+ +
+
+ +
+
+
+ + +
+
+ + + +
+
+ + +
+ + + + + + + + + + + +
+ + + + + + + + + +
\ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_RU.txt b/stdlib/benchmarks/collections/data/UN_charter_RU.txt new file mode 100644 index 0000000000..576465aa8f --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_RU.txt @@ -0,0 +1,468 @@ +Устав ООН (полный текст) +Преамбула +МЫ, НАРОДЫ ОБЪЕДИНЕННЫХ НАЦИЙ, ПРЕИСПОЛНЕННЫЕ РЕШИМОСТИ +избавить грядущие поколения от бедствий войны, дважды в нашей жизни принесшей человечеству невыразимое горе, и + +вновь утвердить веру в основные права человека, в достоинство и ценность человеческой личности, в равноправие мужчин и женщин и в равенство прав больших и малых наций, и + +создать условия, при которых могут соблюдаться справедливость и уважение к обязательствам, вытекающим из договоров и других источников международного права, и + +содействовать социальному прогрессу и улучшению условий жизни при большей свободе, + +И В ЭТИХ ЦЕЛЯХ +проявлять терпимость и жить вместе, в мире друг с другом, как добрые соседи, и + +объединить наши силы для поддержания международного мира и безопасности, и + +обеспечить принятием принципов и установлением методов, чтобы вооруженные силы применялись не иначе, как в общих интересах, и + +использовать международный аппарат для содействия экономическому и социальному прогрессу всех народов, + +РЕШИЛИ ОБЪЕДИНИТЬ НАШИ УСИЛИЯ ДЛЯ ДОСТИЖЕНИЯ ЭТИХ ЦЕЛЕЙ. +Согласно этому наши соответственные правительства через представителей, собравшихся в городе Сан-Франциско, предъявивших свои полномочия, найденные в надлежащей форме, согласились принять настоящий Устав Организации Объединенных Наций и настоящим учреждают международную организацию под названием «Объединенные Нации». + +Глава I: Цели и Принципы +Статья 1 +Организация Объединенных Наций преследует Цели: + +Поддерживать международный мир и безопасность и с этой целью принимать эффективные коллективные меры для предотвращения и устранения угрозы миру и подавления актов агрессии или других нарушений мира и проводить мирными средствами, в согласии с принципами справедливости и международного права, улаживание или разрешение международных споров или ситуаций, которые могут привести к нарушению мира; +Развивать дружественные отношения между нациями на основе уважения принципа равноправия и самоопределения народов, а также принимать другие соответствующие меры для укрепления всеобщего мира; +Осуществлять международное сотрудничество в разрешении международных проблем экономического, социального, культурного и гуманитарного характера и в поощрении и развитии уважения к правам человека и основным свободам для всех, без различия расы, пола, языка и религии, и +Быть центром для согласования действий наций в достижении этих общих целей. +Статья 2 +Для достижения целей, указанных в статье 1, Организация и ее Члены действуют в соответствии со следующими Принципами: + +Организация основана на принципе суверенного равенства всех ее Членов; +Все Члены Организации Объединенных Наций добросовестно выполняют принятые на себя по настоящему Уставу обязательства, чтобы обеспечить им всем в совокупности права и преимущества, вытекающие из принадлежности к составу Членов Организации; +Все Члены Организации Объединенных Наций разрешают свои международные споры мирными средствами таким образом, чтобы не подвергать угрозе международный мир и безопасность и справедливость; +Все Члены Организации Объединенных Наций воздерживаются в их международных отношениях от угрозы силой или ее применения как против территориальной неприкосновенности или политической независимости любого государства, так и каким-либо другим образом, несовместимым с Целями Объединенных Наций; +Все Члены Организации Объединенных Наций оказывают ей всемерную помощь во всех действиях, предпринимаемых ею в соответствии с настоящим Уставом, и воздерживаются от оказания помощи любому государству, против которого Организация Объединенных Наций предпринимает действия превентивного или принудительного характера; +Организация обеспечивает, чтобы государства, которые не являются ее Членами, действовали в соответствии с этими Принципами, поскольку это может оказаться необходимым для поддержания международного мира и безопасности; +Настоящий Устав ни в коей мере не дает Организации Объединенных Наций права на вмешательство в дела, по существу входящие во внутреннюю компетенцию любого государства, и не требует от Членов Организации Объединенных Наций представлять такие дела на разрешение в порядке настоящего Устава; однако этот принцип не затрагивает применения принудительных мер на основании Главы VII. +Глава II: Члены Организации +Статья 3 +Первоначальными Членами Организации Объединенных Наций являются государства, которые, приняв участие в Конференции в Сан-Франциско по созданию Международной Организации или ранее подписав Декларацию Объединенных Наций от 1 января 1942 года, подписали и ратифицировали настоящий Устав в соответствии со статьей 110. + +Статья 4 +Прием в Члены Организации открыт для всех других миролюбивых государств, которые примут на себя содержащиеся в настоящем Уставе обязательства и которые, по суждению Организации, могут и желают эти обязательства выполнять. +Прием любого такого государства в Члены Организации производится постановлением Генеральной Ассамблеи по рекомендации Совета Безопасности. +Статья 5 +Если против какого-либо Члена Организации были предприняты Советом Безопасности действия превентивного или принудительного характера, Генеральная Ассамблея имеет право, по рекомендации Совета Безопасности, приостанавливать осуществление прав и привилегий, принадлежащих ему как Члену Организации. Осуществление этих прав и привилегий может быть восстановлено Советом Безопасности. + +Статья 6 +Член Организации, систематически нарушающий принципы, содержащиеся в настоящем Уставе, может быть исключен из Организации Генеральной Ассамблеей по рекомендации Совета Безопасности. + +Глава III: Органы +Статья 7 +В качестве главных органов Организации Объединенных Наций учреждаются: Генеральная Ассамблея, Совет Безопасности, Экономический и Социальный Совет, Совет по Опеке, Международный Суд и Секретариат. +Вспомогательные органы, которые окажутся необходимыми, могут учреждаться в соответствии с настоящим Уставом. +Статья 8 +Организация Объединенных Наций не устанавливает никаких ограничений в отношении права мужчин и женщин участвовать в любом качестве и на равных условиях в ее главных и вспомогательных органах. + +Глава IV: Генеральная Ассамблея +СОСТАВ +Статья 9 +Генеральная Ассамблея состоит из всех Членов Организации. +Каждый Член Организации имеет не более пяти представителей в Генеральной Ассамблее. +ФУНКЦИИ и ПОЛНОМОЧИЯ +Статья 10 +Генеральная Ассамблея уполномочивается обсуждать любые вопросы или дела в пределах настоящего Устава или относящиеся к полномочиям и функциям любого из органов, предусмотренных настоящим Уставом, и, за исключениями, предусмотренными статьей 12, делать рекомендации Членам Организации Объединенных Наций или Совету Безопасности или и Членам Организации и Совету Безопасности по любым таким вопросам или делам. + +Статья 11 +Генеральная Ассамблея уполномочивается рассматривать общие принципы сотрудничества в деле поддержания международного мира и безопасности, в том числе принципы, определяющие разоружение и регулирование вооружений, и делать в отношении этих принципов рекомендации Членам Организации или Совету Безопасности или и Членам Организации и Совету Безопасности. +Генеральная Ассамблея уполномочивается обсуждать любые вопросы, относящиеся к поддержанию международного мира и безопасности, поставленные перед нею любым Членом Организации или Советом Безопасности или государством, которое не является Членом Организации, в соответствии с пунктом 2 статьи 35, и за исключениями, предусмотренными статьей 12, делать в отношении любых таких вопросов рекомендации заинтересованному государству или государствам или Совету Безопасности или и Совету Безопасности и заинтересованному государству или государствам. Любой такой вопрос, по которому необходимо предпринять действие, передается Генеральной Ассамблеей Совету Безопасности до или после обсуждения. +Генеральная Ассамблея может обращать внимание Совета Безопасности на ситуации, которые могли бы угрожать международному миру и безопасности. +Полномочия Генеральной Ассамблеи, изложенные в настоящей статье, не должны ограничивать общего смысла статьи 10. +Статья 12 +Когда Совет Безопасности выполняет возложенные на него настоящим Уставом функции по отношению к какому-либо спору или ситуации, Генеральная Ассамблея не может делать какие-либо рекомендации, касающиеся данного спора или ситуации, если Совет Безопасности не запросит об этом. +Генеральный Секретарь, с согласия Совета Безопасности, уведомляет Генеральную Ассамблею на каждой ее сессии о всех вопросах, относящихся к поддержанию международного мира и безопасности, находящихся на рассмотрении Совета Безопасности, и таким же образом уведомляет Генеральную Ассамблею, а если Генеральная Ассамблея не заседает, то Членов Организации, немедленно, как только Совет Безопасности прекратит рассмотрение таких вопросов. +Статья 13 +Генеральная Ассамблея организует исследования и делает рекомендации в целях: +Содействия международному сотрудничеству в политической области и поощрения прогрессивного развития международного права и его кодификации; +Содействия международному сотрудничеству в области экономической, социальной, культуры, образования, здравоохранения и содействия осуществлению прав человека и основных свобод для всех, без различия расы, пола, языка и религии. +Дальнейшие обязанности, функции и полномочия Генеральной Ассамблеи в отношении вопросов, упомянутых выше в пункте 1b, изложены в Главах IX и X. +Статья 14 +С соблюдением положений статьи 12, Генеральная Ассамблея уполномочивается рекомендовать меры мирного улаживания любой ситуации, независимо от ее происхождения, которая, по мнению Ассамблеи, могла бы нарушить общее благополучие или дружественные отношения между нациями, включая ситуации, возникающие в результате нарушения положений настоящего Устава, излагающих Цели и Принципы Объединенных Наций. + +Статья 15 +Генеральная Ассамблея получает и рассматривает ежегодные и специальные доклады Совета Безопасности; эти доклады должны включать отчет о мерах по поддержанию международного мира и безопасности, которые Совет Безопасности решил предпринять или предпринял. +Генеральная Ассамблея получает и рассматривает доклады других органов Организации. +Статья 16 +Генеральная Ассамблея выполняет в отношении международной системы опеки такие функции, которые возложены на нее на основании Глав XII и XIII, включая утверждение соглашений по опеке для территорий, не относящихся к числу стратегических. + +Статья 17 +Генеральная Ассамблея рассматривает и утверждает бюджет Организации. +Члены Организации несут ее расходы по распределению, установленному Генеральной Ассамблеей. +Генеральная Ассамблея рассматривает и утверждает любые финансовые и бюджетные соглашения со специализированными учреждениями, упомянутыми в статье 57, и проверяет административные бюджеты таких специализированных учреждений с той целью, чтобы сделать рекомендации заинтересованным учреждениям. +ГОЛОСОВАНИЕ +Статья 18 +Каждый Член Генеральной Ассамблеи имеет один голос. +Решения Генеральной Ассамблеи по важным вопросам принимаются большинством в две трети присутствующих и участвующих в голосовании членов Ассамблеи. Эти вопросы включают: рекомендации в отношении поддержания международного мира и безопасности, выборы непостоянных членов Совета Безопасности, выборы членов Экономического и Социального Совета, выборы членов Совета по Опеке, в соответствии с пунктом 1с статьи 86, прием новых Членов в Организацию Объединенных Наций, приостановление прав и привилегий Членов Организации, исключение из Организации ее Членов, вопросы, относящиеся к функционированию системы опеки, и бюджетные вопросы. +Решения по другим вопросам, включая определение дополнительных категорий вопросов, которые подлежат решению большинством в две трети голосов, принимаются простым большинством присутствующих и участвующих в голосовании. +Статья 19 +Член Организации, за которым числится задолженность по уплате Организации денежных взносов, лишается права голоса в Генеральной Ассамблее, если сумма его задолженности равняется или превышает сумму взносов, причитающихся с него за два полных предыдущих года. Генеральная Ассамблея может, однако, разрешить такому Члену Организации участвовать в голосовании, если она признает, что просрочка платежа произошла по не зависящим от него обстоятельствам. + +ПРОЦЕДУРА +Статья 20 +Генеральная Ассамблея собирается на очередные ежегодные сессии и на такие специальные сессии, которых могут потребовать обстоятельства. Специальные сессии созываются Генеральным Секретарем по требованию Совета Безопасности или большинства Членов Организации. + +Статья 21 +Генеральная Ассамблея устанавливает свои собственные правила процедуры. Она избирает своего Председателя на каждую сессию. + +Статья 22 +Генеральная Ассамблея уполномочивается учреждать такие вспомогательные органы, которые она сочтет необходимыми для осуществления своих функций. + +Глава V: Совет Безопасности +СОСТАВ +Статья 23 +Совет Безопасности состоит из пятнадцати Членов Организации. Китайская Республика, Франция, Союз Советских Социалистических Республик, Соединенное Королевство Великобритании и Северной Ирландии и Соединенные Штаты Америки являются постоянными членами Совета Безопасности. Генеральная Ассамблея избирает десять других Членов Организации в качестве непостоянных членов Совета Безопасности, уделяя, в особенности, должное внимание, в первую очередь, степени участия Членов Организации в поддержании международного мира и безопасности и в достижении других целей Организации, а также справедливому географическому распределению. +Непостоянные члены Совета Безопасности избираются на двухгодичный срок. При первых выборах непостоянных членов, после увеличения Совета Безопасности с одиннадцати до пятнадцати, два из четырех дополнительных членов избираются на срок в один год. Выбывающий член Совета Безопасности не подлежит немедленному переизбранию. +Каждый член Совета Безопасности имеет одного представителя. +ФУНКЦИИ И ПОЛНОМОЧИЯ +Статья 24 +Для обеспечения быстрых и эффективных действий Организации Объединенных Наций ее Члены возлагают на Совет Безопасности главную ответственность за поддержание международного мира и безопасности и соглашаются в том, что при исполнении его обязанностей, вытекающих из этой ответственности, Совет Безопасности действует от их имени. +При исполнении этих обязанностей Совет Безопасности действует в соответствии с Целями и Принципами Объединенных Наций. Определенные полномочия, предоставленные Совету Безопасности для выполнения этих обязанностей, изложены в Главах VI, VII, VIII и XII. +Совет Безопасности представляет на рассмотрение Генеральной Ассамблее ежегодные доклады и, по мере надобности, специальные доклады. +Статья 25 +Члены Организации соглашаются, в соответствии с настоящим Уставом, подчиняться с решениями Совета Безопасности и выполнять их. + +Статья 26 +В целях содействия установлению и поддержанию международного мира и безопасности с наименьшим отвлечением мировых людских сил и экономических ресурсов для дела вооружения, Совет Безопасности несет ответственность за формулирование, при помощи Военно-Штабного Комитета, указанного в статье 47, планов создания системы регулирования вооружений для представления их Членам Организации. + +ГОЛОСОВАНИЕ +Статья 27 +Каждый член Совета Безопасности имеет один голос. +Решения Совета Безопасности по вопросам процедуры считаются принятыми, когда за них поданы голоса девяти членов Совета. +Решения Совета Безопасности по всем другим вопросам считаются принятыми, когда за них поданы голоса девяти членов Совета, включая совпадающие голоса всех постоянных членов Совета, причем сторона, участвующая в споре, должна воздержаться от голосования при принятии решения на основании Главы VI и на основании пункта 3 статьи 52. +ПРОЦЕДУРА +Статья 28 +Совет Безопасности организуется таким образом, чтобы он мог функционировать непрерывно. Для этой цели каждый член Совета Безопасности должен быть всегда представлен в месте пребывания Организации Объединенных Наций. +Совет Безопасности собирается на периодические заседания, на которых каждый из его членов может, по своему желанию, быть представлен или членом правительства или каким-либо другим особо назначенным представителем. +Заседания Совета Безопасности могут происходить не только в месте пребывания Организации, но и во всяком другом месте, которое, по мнению Совета, более способствует его работе. +Статья 29 +Совет Безопасности может учреждать такие вспомогательные органы, какие он найдет необходимыми для выполнения своих функций. + +Статья 30 +Совет Безопасности устанавливает свои правила процедуры, включая порядок избрания своего Председателя. + +Статья 31 +Любой Член Организации, который не является членом Совета Безопасности, может принять участие, без права голоса, в обсуждении любого вопроса, внесенного в Совет Безопасности, во всех тех случаях, когда Совет Безопасности находит, что интересы этого Члена Организации специально затронуты. + +Статья 32 +Любой Член Организации, который не состоит членом Совета Безопасности, или любое государство, не состоящее Членом Организации, если они являются сторонами в споре, рассматриваемом Советом Безопасности, приглашаются принять участие, без права голоса, в обсуждении, относящемся к этому спору. Совет Безопасности ставит такие условия для участия государства, не состоящего Членом Организации, какие он найдет справедливыми. + +Глава VI: Мирное разрешение споров +Статья 33 +Стороны, участвующие в любом споре, продолжение которого могло бы угрожать поддержанию международного мира и безопасности, должны прежде всего стараться разрешить спор путем переговоров, обследования, посредничества, примирения, арбитража, судебного разбирательства, обращения к региональным органам или соглашениям или иными мирными средствами по своему выбору. +Совет Безопасности, когда он считает это необходимым, требует от сторон разрешения их спора при помощи таких средств. +Статья 34 +Совет Безопасности уполномочивается расследовать любой спор или любую ситуацию, которая может привести к международным трениям или вызвать спор, для определения того, не может ли продолжение этого спора или ситуации угрожать поддержанию международного мира и безопасности. + +Статья 35 +Любой Член Организации может довести о любом споре или ситуации, имеющей характер, указанный в статье 34, до сведения Совета Безопасности или Генеральной Ассамблеи. +Государство, которое не является Членом Организации, может довести до сведения Совета Безопасности или Генеральной Ассамблеи о любом споре, в котором оно является стороной, если оно примет на себя заранее в отношении этого спора обязательства мирного разрешения споров, предусмотренные в настоящем Уставе. +Разрешение Генеральной Ассамблеей дел, о которых доведено до ее сведения на основании настоящей статьи, производится с учетом положений статей 11 и 12. +Статья 36 +Совет Безопасности уполномочивается в любой стадии спора, имеющего характер, указанный в статье 33, или ситуации подобного же характера рекомендовать надлежащую процедуру или методы урегулирования. +Совет Безопасности принимает во внимание любую процедуру для разрешения этого спора, которая уже была принята сторонами. +Делая рекомендации на основании настоящей статьи, Совет Безопасности принимает также во внимание, что споры юридического характера должны, как общее правило, передаваться сторонами в Международный Суд в соответствии с положениями Статута Суда. +Статья 37 +Если стороны в споре, имеющем характер, указанный в статье 33, не разрешат его при помощи указанных в этой статье средств, они передают его в Совет Безопасности. +Если Совет Безопасности считает, что продолжение данного спора в действительности могло бы угрожать поддержанию международного мира и безопасности, он решает, действовать ли ему на основании статьи 36 или рекомендовать такие условия разрешения спора, какие он найдет подходящими. +Статья 38 +Без ущерба для положений статей 33–37 Совет Безопасности уполномочивается, если все стороны, участвующие в любом споре, об этом просят, делать сторонам рекомендации с целью мирного разрешения этого спора. + +Глава VII: Действия в отношении угрозы миру, нарушений мира и актов агрессии +Статья 39 +Совет Безопасности определяет существование любой угрозы миру, любого нарушения мира или акта агрессии и делает рекомендации или решает о том, какие меры следует предпринять в соответствии со статьями 41 и 42 для поддержания или восстановления международного мира и безопасности. + +Статья 40 +Чтобы предотвратить ухудшение ситуации, Совет Безопасности уполномочивается, прежде чем сделать рекомендации или решить о принятии мер, предусмотренных статьей 39, потребовать от заинтересованных сторон выполнения тех временных мер, которые он найдет необходимыми или желательными. Такие временные меры не должны наносить ущерба правам, притязаниям или положению заинтересованных сторон. Совет Безопасности должным образом учитывает невыполнение этих временных мер. + +Статья 41 +Совет Безопасности уполномочивается решать, какие меры, не связанные с использованием вооруженных сил, должны применяться для осуществления его решений, и он может потребовать от Членов Организации применения этих мер. Эти меры могут включать полный или частичный перерыв экономических отношений, железнодорожных, морских, воздушных, почтовых, телеграфных, радио или других средств сообщения, а также разрыв дипломатических отношений. + +Статья 42 +Если Совет Безопасности сочтет, что меры, предусмотренные в статье 41, могут оказаться недостаточными или уже оказались недостаточными, он уполномочивается предпринимать такие действия воздушными, морскими или сухопутными силами, какие окажутся необходимыми для поддержания или восстановления международного мира и безопасности. Такие действия могут включать демонстрации, блокаду и другие операции воздушных, морских или сухопутных сил Членов Организации. + +Статья 43 +Все Члены Организации для того, чтобы внести свой вклад в дело поддержания международного мира и безопасности, обязуются предоставлять в распоряжение Совета Безопасности по его требованию и в соответствии с особым соглашением или соглашениями необходимые для поддержания международного мира и безопасности вооруженные силы, помощь и соответствующие средства обслуживания, включая право прохода. +Такое соглашение или соглашения определяют численность и род войск, степень их готовности и их общее расположение и характер предоставляемых средств обслуживания и помощи. +Переговоры о заключении соглашения или соглашений предпринимаются в возможно кратчайший срок по инициативе Совета Безопасности. Они заключаются между Советом Безопасности и Членами Организации или между Советом Безопасности и группами Членов Организации и подлежат ратификации подписавшими их государствами, в соответствии с их конституционной процедурой. +Статья 44 +Когда Совет Безопасности решил применить силу, то, прежде чем потребовать от Члена Организации, не представленного в Совете, предоставления вооруженных сил во исполнение обязательств, принятых им на основании статьи 43, Совет Безопасности приглашает этого Члена Организации, если последний этого пожелает, принять участие в решениях Совета Безопасности относительно использования контингентов вооруженных сил данного Члена Организации. + +Статья 45 +В целях обеспечения для Организации Объединенных Наций возможности предпринимать срочные военные мероприятия, Члены Организации должны держать в состоянии немедленной готовности контингенты национальных военно-воздушных сил для совместных международных принудительных действий. Численность и степень готовности этих контингентов и планы их совместных действий определяются Советом Безопасности с помощью Военно-Штабного Комитета в пределах, указанных в особом соглашении или соглашениях, упомянутых в статье 43. + +Статья 46 +Планы применения вооруженных сил составляются Советом Безопасности с помощью Военно-Штабного Комитета. + +Статья 47 +Создается Военно-Штабной Комитет для того, чтобы давать советы и оказывать помощь Совету Безопасности по всем вопросам, относящимся к военным потребностям Совета Безопасности в деле поддержания международного мира и безопасности, к использованию войск, предоставленных в его распоряжение, и к командованию ими, а также к регулированию вооружений и к возможному разоружению. +Военно-Штабной Комитет состоит из Начальников Штабов постоянных членов Совета Безопасности или их представителей. Любой Член Организации, не представленный постоянно в Комитете, приглашается Комитетом сотрудничать с ним, если эффективное осуществление обязанностей Комитета требует участия этого Члена Организации в работе Комитета. +Военно-Штабной Комитет, находясь в подчинении Совета Безопасности, несет ответственность за стратегическое руководство любыми вооруженными силами, предоставленными в распоряжение Совета Безопасности. Вопросы, относящиеся к командованию такими силами, должны быть разработаны позднее. +Военно-Штабной Комитет может, с разрешения Совета Безопасности и после консультации с надлежащими региональными органами, учреждать свои региональные подкомитеты. +Статья 48 +Действия, которые требуются для выполнения решений Совета Безопасности в целях поддержания международного мира и безопасности, предпринимаются всеми Членами Организации или некоторыми из них, в зависимости от того, как это определит Совет Безопасности. +Такие решения выполняются Членами Организации непосредственно, а также путем их действий в соответствующих международных учреждениях, членами которых они являются. +Статья 49 +Члены Организации должны объединяться для оказания взаимной помощи в проведении мер, о которых принято решение Советом Безопасности. + +Статья 50 +Если Советом Безопасности принимаются превентивные или принудительные меры против какого-либо государства, всякое другое государство, независимо от того, состоит ли оно Членом Организации, перед которым встанут специальные экономические проблемы, возникшие из проведения вышеупомянутых мер, имеет право консультироваться с Советом Безопасности на предмет разрешения таких проблем. + +Статья 51 +Настоящий Устав ни в коей мере не затрагивает неотъемлемого права на индивидуальную или коллективную самооборону, если произойдет вооруженное нападение на Члена Организации, до тех пор пока Совет Безопасности не примет мер, необходимых для поддержания международного мира и безопасности. Меры, принятые Членами Организации при осуществлении этого права на самооборону, должны быть немедленно сообщены Совету Безопасности и никоим образом не должны затрагивать полномочий и ответственности Совета Безопасности, в соответствии с настоящим Уставом, в отношении предпринятия в любое время таких действий, какие он сочтет необходимыми для поддержания или восстановления международного мира и безопасности. + +Глава VIII: Региональные соглашения +Статья 52 +Настоящий Устав ни в коей мере не препятствует существованию региональных соглашений или органов для разрешения таких вопросов, относящихся к поддержанию международного мира и безопасности, которые являются подходящими для региональных действий, при условии, что такие соглашения или органы и их деятельность совместимы с Целями и Принципами Организации. +Члены Организации, заключившие такие соглашения или составляющие такие органы, должны приложить все свои усилия для достижения мирного разрешения местных споров при помощи таких региональных соглашений или таких региональных органов до передачи этих споров в Совет Безопасности. +Совет Безопасности должен поощрять развитие применения мирного разрешения местных споров при помощи таких региональных соглашений или таких региональных органов либо по инициативе заинтересованных государств, либо по своей собственной инициативе. +Настоящая статья ни в коей мере не затрагивает применения статей 34 и 35. +Статья 53 +Совет Безопасности использует, где это уместно, такие региональные соглашения или органы для принудительных действий под его руководством. Однако никакие принудительные действия не предпринимаются, в силу этих региональных соглашений или региональными органами, без полномочий от Совета Безопасности, за исключением мер, предусмотренных статьей 107, против любого вражеского государства, как оно определено в пункте 2 настоящей статьи, или мер, предусмотренных в региональных соглашениях, направленных против возобновления агрессивной политики со стороны любого такого государства до того времени, когда на Организацию, по просьбе заинтересованных Правительств, может быть возложена ответственность за предупреждение дальнейшей агрессии со стороны такого государства. +Термин «вражеское государство», как он применен в пункте 1 настоящей статьи, относится к любому государству, которое в течение второй мировой войны являлось врагом любого из государств, подписавших настоящий Устав. +Статья 54 +Совет Безопасности должен быть всегда полностью информирован о действиях, предпринятых или намечаемых в силу региональных соглашений или региональными органами, для поддержания международного мира и безопасности. + +ГЛАВА IX: Международное экономическое и социальное сотрудничество +Статья 55 +С целью создания условий стабильности и благополучия, необходимых для мирных и дружеских отношений между нациями, основанных на уважении принципа равноправия и самоопределения народов, Организация Объединенных Наций содействует: + +Повышению уровня жизни, полной занятости населения и условиям экономического и социального прогресса и развития; +Разрешению международных проблем в области экономической, социальной, здравоохранения и подобных проблем; международному сотрудничеству в области культуры и образования; +Всеобщему уважению и соблюдению прав человека и основных свобод для всех, без различия расы, пола, языка и религии. +Статья 56 +Все Члены Организации обязуются предпринимать совместные и самостоятельные действия в сотрудничестве с Организацией для достижения целей, указанных в статье 55. + +Статья 57 +Различные специализированные учреждения, созданные межправительственными соглашениями и облеченные широко международной, определенной в их учредительных актах, ответственностью в области экономической, социальной, культуры, образования, здравоохранения и подобных областях, будут поставлены в связь с Организацией в соответствии с положениями статьи 63. +Такие учреждения, которые будут поставлены указанным образом в связь с Организацией, именуются в последующих статьях «специализированные учреждения». +Статья 58 +Организация делает рекомендации по согласованию политики и деятельности специализированных учреждений. + +Статья 59 +Организация, в случае надобности, проявляет инициативу в том, чтобы заинтересованные государства приступили к переговорам о создании любых новых специализированных учреждений, которые потребуются для выполнения целей, указанных в статье 55. + +Статья 60 +Ответственность за выполнение функций Организации, указанных в настоящей Главе, возлагается на Генеральную Ассамблею и, под руководством Генеральной Ассамблеи, на Экономический и Социальный Совет, которому для этой цели предоставляются полномочия, указанные в Главе X. + +Глава X: Экономический и Социальный Совет +СОСТАВ +Статья 61 +Экономический и Социальный Совет состоит из пятидесяти четырех Членов Организации, избираемых Генеральной Ассамблеей. +С соблюдением положений, изложенных в пункте 3, восемнадцать членов Экономического и Социального Совета избираются ежегодно сроком на три года. Выбывающий член Совета может быть переизбран немедленно. +При первых выборах после увеличения числа членов Экономического и Социального Совета с двадцати семи до пятидесяти четырех, в дополнение к членам, избираемым вместо девяти членов, срок полномочий которых истекает в конце данного года, избираются двадцать семь дополнительных членов. Срок полномочий девяти из двадцати семи дополнительных членов, избранных таким образом, истекает в конце первого года, а срок полномочий других девяти членов — в конце второго года, в соответствии с постановлением Генеральной Ассамблеи. +Каждый член Экономического и Социального Совета имеет одного представителя. +ФУНКЦИИ И ПОЛНОМОЧИЯ +Статья 62 +Экономический и Социальный Совет уполномочивается предпринимать исследования и составлять доклады по международным вопросам в области экономической, социальной, культуры, образования, здравоохранения и подобным вопросам или побуждать к этому других, а также делать по любому из этих вопросов рекомендации Генеральной Ассамблее, Членам Организации и заинтересованным специализированным учреждениям. +Совет уполномочивается делать рекомендации в целях поощрения уважения и соблюдения прав человека и основных свобод для всех. +Совет уполномочивается подготавливать для представления Генеральной Ассамблее проекты конвенций по вопросам, входящим в его компетенцию. +Совет уполномочивается созывать, в соответствии с правилами, предписанными Организацией, международные конференции по вопросам, входящим в его компетенцию. +Статья 63 +Экономический и Социальный Совет уполномочивается вступать с любым из учреждений, указанных в статье 57, в соглашения, определяющие условия, на которых соответствующие учреждения будут поставлены в связь с Организацией. Такие соглашения подлежат утверждению Генеральной Ассамблеей. +Совет уполномочивается согласовывать деятельность специализированных учреждений посредством консультаций с ними и рекомендаций таким учреждениям и посредством рекомендаций Генеральной Ассамблее и Членам Организации. +Статья 64 +Экономический и Социальный Совет уполномочивается принимать надлежащие меры для получения от специализированных учреждений регулярных докладов. Совет уполномочивается заключать соглашения с Членами Организации и со специализированными учреждениями с целью получения от них докладов о мерах, предпринятых ими во исполнение его собственных рекомендаций и рекомендаций Генеральной Ассамблеи по вопросам, входящим в его компетенцию. +Совет уполномочивается сообщать Генеральной Ассамблее свои замечания по этим докладам. +Статья 65 +Экономический и Социальный Совет уполномочивается представлять Совету Безопасности информацию и, по предложению Совета Безопасности, обязан ему помогать. + +Статья 66 +Экономический и Социальный Совет осуществляет такие функции, какие входят в его компетенцию, в связи с выполнением рекомендаций Генеральной Ассамблеи. +Совет, с одобрения Генеральной Ассамблеи, уполномочивается выполнять работы по просьбе Членов Организации и по просьбе специализированных учреждений. +Совет должен выполнять такие другие функции, какие перечислены в других частях настоящего Устава или какие могут быть возложены на него Генеральной Ассамблеей. +ГОЛОСОВАНИЕ +Статья 67 +Каждый член Экономического и Социального Совета имеет один голос. +Решения Экономического и Социального Совета принимаются большинством голосов членов Совета, присутствующих и участвующих в голосовании. +ПРОЦЕДУРА +Статья 68 +Экономический и Социальный Совет создает комиссии в экономической и социальной области и по поощрению прав человека, а также такие другие комиссии, которые могут потребоваться для выполнения его функций. + +Статья 69 +Экономический и Социальный Совет приглашает любого Члена Организации участвовать без права голоса в обсуждении им любого вопроса, представляющего особый интерес для данного Члена Организации. + +Статья 70 +Экономический и Социальный Совет уполномочивается проводить мероприятия для участия без права голоса представителей специализированных учреждений в обсуждении вопросов в Совете или в созданных им комиссиях, а также для участия представителей Совета в обсуждении вопросов в специализированных учреждениях. + +Статья 71 +Экономический и Социальный Совет уполномочивается проводить надлежащие мероприятия для консультации с неправительственными организациями, заинтересованными в вопросах, входящих в его компетенцию. Такие мероприятия могут быть условлены с международными организациями, а в случае надобности, с национальными организациями после консультации с заинтересованным Членом Организации. + +Статья 72 +Экономический и Социальный Совет устанавливает свои собственные правила процедуры, включая порядок избрания своего Председателя. +Экономический и Социальный Совет созывается по мере надобности, в соответствии со своими правилами, которые должны включать положения о созыве заседаний по требованию большинства его членов. +Глава XI: Декларация в отношении несамоуправляющихся территорий +Статья 73 +Члены Организации Объединенных Наций, которые несут или принимают на себя ответственность за управление территориями, народы которых не достигли еще полного самоуправления, признают тот принцип, что интересы населения этих территорий являются первостепенными, и, как священный долг, принимают обязательство максимально способствовать благополучию населения этих территорий в рамках системы международного мира и безопасности, установленной настоящим Уставом, и с этой целью: + +Обеспечивать, соблюдая должное уважение к культуре указанных народов, их политический, экономический и социальный прогресс, прогресс в области образования, справедливое обращение с ними и защиту их от злоупотреблений; +Развивать самоуправление, учитывать должным образом политические стремления этих народов и помогать им в прогрессивном развитии их свободных политических институтов в соответствии со специфическими обстоятельствами, присущими каждой территории и ее народам, и с их разными ступенями развития; +Укреплять международный мир и безопасность; +Способствовать развитию созидательных мероприятий, поощрять исследования и сотрудничать друг с другом и, где и когда это уместно, со специализированными международными организациями ради практического достижения изложенных в настоящей статье социальных, экономических и научных целей, и +Передавать регулярно Генеральному Секретарю для информации и с таким ограничением, какое может потребоваться по соображениям безопасности и конституционного порядка, статистическую и другую информацию специального характера, относящуюся к экономическим и социальным условиям, а также условиям образования на территориях, за которые они соответственно несут ответственность, кроме тех территорий, на которые распространяется действие Глав XII и XIII. +Статья 74 +Члены Организации также соглашаются, что их политика в отношении территорий, на которые распространяется действие настоящей Главы, должна быть основана не менее, чем в отношении их метрополий, на общем принципе добрососедства, с надлежащим учетом интересов и благополучия остального мира в делах социальных, экономических и торговли. + +Глава XII: Международная система опеки +Статья 75 +Организация Объединенных Наций создает под своим руководством международную систему опеки для управления теми территориями, которые могут быть включены в нее последующими индивидуальными соглашениями, и для наблюдения за этими территориями. Эти территории именуются далее «территории под опекой». + +Статья 76 +Основные задачи системы опеки, в соответствии с Целями Организации Объединенных Наций, изложенными в статье 1 настоящего Устава, состоят в том, чтобы: + +Укреплять международный мир и безопасность; +Способствовать политическому, экономическому и социальному прогрессу населения территорий под опекой, его прогрессу в области образования и его прогрессивному развитию в направлении к самоуправлению или независимости, как это может оказаться подходящим для специфических условий каждой территории и ее народов и имея в виду свободно выраженное желание этих народов, и как это может быть предусмотрено условиями каждого соглашения об опеке; +Поощрять уважение прав человека и основных свобод для всех, без различия расы, пола, языка, религии, и поощрять признание взаимозависимости народов мира; +Обеспечивать равное отношение к Членам Организации и их гражданам в области социальной, экономической и торговой, а также равное отношение к ним в отправлении правосудия без ущерба для достижения выше изложенных задач и при условии соблюдения положений статьи 80. +Статья 77 +Система опеки распространяется на такие территории из ниже перечисленных категорий, которые могут быть включены в нее соглашениями об опеке: +Территории, ныне находящиеся под мандатом; +Территории, которые могут быть отторгнуты от вражеских государств в результате второй мировой войны, и +Территории, добровольно включенные в систему опеки государствами, ответственными за их управление. +Вопрос о том, какие из территорий выше перечисленных категорий должны быть включены в систему опеки и на каких условиях, будет предметом последующего соглашения. +Статья 78 +Система опеки не распространяется на страны, ставшие Членами Организации, отношения между которыми должны основываться на уважении принципа суверенного равенства. + +Статья 79 +Условия опеки для каждой территории, подлежащей включению в систему опеки, в том числе все изменения и поправки, определяются соглашениями непосредственно заинтересованных государств, включая страны-мандатарии, в том случае, если территории находятся под мандатом одного из Членов Организации, и утверждаются, как предусмотрено в статьях 83 и 85. + +Статья 80 +За исключением случаев, которые могут быть согласованы в индивидуальных соглашениях об опеке, заключенных согласно статьям 77, 79 и 81, включающих каждую территорию в систему опеки, и впредь до заключения таких соглашений, ничто в настоящей Главе не должно толковаться как изменение каким-либо образом каких бы то ни было прав любых государств или любых народов или условий существующих международных соглашений, участниками которых могут быть соответственно Члены Организации. +Пункт 1 настоящей статьи не должен толковаться как дающий основания для задержки или отсрочки переговоров и заключения соглашений о включении под мандатных и других территорий в систему опеки, как это предусмотрено в статье 77. +Статья 81 +Соглашение об опеке в каждом случае должно включать условия, на которых будет управляться территория под опекой, а также определять власть, которая будет осуществлять управление территорией под опекой. Такая власть, называемая далее управляющей властью, может представлять собою одно или более государств или Организацию Объединенных Наций, как таковую. + +Статья 82 +В любом соглашении об опеке может определяться стратегический район или районы, которые могут включать часть или всю территорию под опекой, на которую распространяется соглашение, без ущерба для какого бы то ни было особого соглашения или соглашений, заключенных на основании статьи 43. + +Статья 83 +Все функции Организации Объединенных Наций, относящиеся к стратегическим районам, включая утверждение условий соглашений об опеке и их изменений или поправок к ним, осуществляются Советом Безопасности. +Основные цели, изложенные в статье 76, относятся к народу каждого из стратегических районов. +Совет Безопасности, соблюдая условия соглашений об опеке и без ущерба для требований безопасности, пользуется помощью Совета по Опеке для выполнения тех функций Организации Объединенных Наций, в соответствии с системой опеки, которые относятся к политическим, экономическим и социальным вопросам, а также к вопросам в области образования в стратегических районах. +Статья 84 +Обязанностью управляющей власти является обеспечение того, чтобы территория под опекой играла свою роль в поддержании международного мира и безопасности. С этой целью управляющая власть уполномочивается использовать добровольные вооруженные силы, средства обслуживания и помощь территории под опекой при выполнении обязательств, принятых в этом отношении управляющей властью перед Советом Безопасности, а равно и для местной обороны и поддержания закона и порядка в пределах территории под опекой. + +Статья 85 +Функции Организации Объединенных Наций в отношении соглашений об опеке для всех районов, не отнесенных к числу стратегических, включая утверждение условий соглашений об опеке и их изменений или поправок к ним, осуществляются Генеральной Ассамблеей. +Совет по Опеке, действующий под руководством Генеральной Ассамблеи, помогает Генеральной Ассамблее в выполнении этих функций. +Глава XIII: Совет по Опеке +СОСТАВ +Статья 86 +Совет по Опеке состоит из следующих Членов Организации Объединенных Наций: +Тех Членов Организации, которые управляют территориями под опекой; +Тех Членов Организации, поименованных в статье 23, которые не управляют территориями под опекой; +Такого числа других Членов Организации, избранных Генеральной Ассамблеей на трехгодичный срок, какое может оказаться необходимым для обеспечения того, чтобы общее число членов Совета по Опеке распределялось поровну между Членами Организации, управляющими и не управляющими территориями под опекой. +Каждый Член Совета по Опеке назначит одно особо квалифицированное лицо, которое будет его представителем в Совете по Опеке. +ФУНКЦИИ И ПОЛНОМОЧИЯ +Статья 87 +Генеральная Ассамблея и находящийся под ее руководством Совет по Опеке при выполнении своих функций уполномочиваются: + +Рассматривать отчеты, представляемые управляющей властью; +Принимать петиции и рассматривать их, консультируясь с управляющей властью; +Устраивать периодические посещения соответствующих территорий под опекой в согласованные с управляющей властью сроки; и +Предпринимать упомянутые и другие действия в соответствии с условиями соглашений об опеке. +Статья 88 +Совет по Опеке разрабатывает анкету относительно политического, экономического и социального прогресса населения каждой территории под опекой, а также его прогресса в области образования, а управляющая власть каждой территории под опекой, входящей в компетенцию Генеральной Ассамблеи, представляет последней ежегодные доклады на основе этой анкеты. + +ГОЛОСОВАНИЕ +Статья 89 +Каждый член Совета по Опеке имеет один голос. +Решения Совета по Опеке принимаются большинством голосов присутствующих и участвующих в голосовании членов Совета. +ПРОЦЕДУРА +Статья 90 +Совет по Опеке принимает свои собственные правила процедуры, включая порядок избрания своего Председателя. +Заседания Совета по Опеке созываются по мере надобности в соответствии с его правилами процедуры, которые должны предусматривать созыв заседаний по требованию большинства членов Совета. +Статья 91 +Совет по Опеке пользуется в соответствующих случаях помощью Экономического и Социального Совета и специализированных учреждений в отношении вопросов, в которых они соответственно заинтересованы. + +Глава XIV: Международный Суд +Статья 92 +Международный Суд является главным судебным органом Организации Объединенных Наций. Он действует в соответствии с прилагаемым Статутом, который основан на Статуте Постоянной Палаты Международного Правосудия и образует неотъемлемую часть настоящего Устава. + +Статья 93 +Все Члены Организации являются ipso facto участниками Статута Международного Суда. +Государство, не являющееся Членом Организации, может стать участником Статута Международного Суда на условиях, которые определяются, в каждом отдельном случае, Генеральной Ассамблеей по рекомендации Совета Безопасности. +Статья 94 +Каждый Член Организации обязуется выполнить решение Международного Суда по тому делу, в котором он является стороной. +В случае, если какая-либо сторона в деле не выполнит обязательства, возложенного на нее решением Суда, другая сторона может обратиться в Совет Безопасности, который может, если признает это необходимым, сделать рекомендации или решить о принятии мер для приведения решения в исполнение. +Статья 95 +Настоящий Устав ни в коей мере не препятствует Членам Организации поручать разрешение своих разногласий другим судам в силу уже существующих соглашений или таких, которые могут быть заключены в будущем. + +Статья 96 +Генеральная Ассамблея или Совет Безопасности могут запрашивать от Международного Суда консультативные заключения по любому юридическому вопросу. +Другие органы Организации Объединенных Наций и специализированные учреждения, которым Генеральная Ассамблея может дать в любое время разрешение на это, также могут запрашивать консультативные заключения Суда по юридическим вопросам, возникающим в пределах их круга деятельности. +Глава XV: Секретариат +Статья 97 +Секретариат состоит из Генерального Секретаря и такого персонала, который может потребоваться для Организации. Генеральный Секретарь назначается Генеральной Ассамблеей по рекомендации Совета Безопасности. Генеральный Секретарь является главным административным должностным лицом Организации. + +Статья 98 +Генеральный Секретарь действует в этом качестве на всех заседаниях Генеральной Ассамблеи, Совета Безопасности, Экономического и Социального Совета и Совета по Опеке и выполняет такие другие функции, какие возлагаются на него этими органами. Генеральный Секретарь представляет Генеральной Ассамблее ежегодный отчет о работе Организации. + +Статья 99 +Генеральный Секретарь имеет право доводить до сведения Совета Безопасности о любых вопросах, которые, по его мнению, могут угрожать поддержанию международного мира и безопасности. + +Статья 100 +При исполнении своих обязанностей Генеральный Секретарь и персонал Секретариата не должны запрашивать или получать указания от какого бы то ни было правительства или власти, посторонней для Организации. Они должны воздерживаться от любых действий, которые могли бы отразиться на их положении как международных должностных лиц, ответственных только перед Организацией. +Каждый Член Организации обязуется уважать строго международный характер обязанностей Генерального Секретаря и персонала Секретариата и не пытаться оказывать на них влияние при исполнении ими своих обязанностей. +Статья 101 +Персонал Секретариата назначается Генеральным Секретарем, согласно правилам, устанавливаемым Генеральной Ассамблеей. +Надлежащий персонал выделяется для постоянной работы в Экономический и Социальный Совет, в Совет по Опеке и, по мере надобности, в другие органы Организации. Этот персонал составляет часть Секретариата. +При приеме на службу и определении условий службы следует руководствоваться, главным образом, необходимостью обеспечить высокий уровень работоспособности, компетентности и добросовестности. Должное внимание следует уделять важности подбора персонала на возможно более широкой географической основе. +Глава XVI: Разные постановления +Статья 102 +Всякий договор и всякое международное соглашение, заключенные любым Членом Организации после вступления в силу настоящего Устава, должны быть, при первой возможности, зарегистрированы в Секретариате и им опубликованы. +Ни одна из сторон в любом таком договоре или международном соглашении, не зарегистрированных в соответствии с пунктом 1 настоящей статьи, не может ссылаться на такой договор или соглашение ни в одном из органов Организации Объединенных Наций. +Статья 103 +В том случае, когда обязательства Членов Организации по настоящему Уставу окажутся в противоречии с их обязательствами по какому-либо другому международному соглашению, преимущественную силу имеют обязательства по настоящему Уставу. + +Статья 104 +Организация Объединенных Наций пользуется на территории каждого из своих Членов такой правоспособностью, которая может оказаться необходимой для выполнения ее функций и достижения ее целей. + +Статья 105 +Организация Объединенных Наций пользуется на территории каждого из своих Членов такими привилегиями и иммунитетами, которые необходимы для достижения ее целей. +Представители Членов Организации и ее должностные лица также пользуются привилегиями и иммунитетами, которые необходимы для самостоятельного выполнения ими своих функций, связанных с деятельностью Организации. +Генеральная Ассамблея может делать рекомендации для определения деталей применения пунктов 1 и 2 настоящей статьи, а также может предлагать Членам Организации конвенции для этой цели. +Глава XVII: Мероприятия по безопасности в переходный период +Статья 106 +Впредь до вступления в силу таких упомянутых в статье 43 особых соглашений, какие, по мнению Совета Безопасности, дают ему возможность начать осуществление своих обязанностей, согласно статье 42, участники Декларации Четырех Держав, подписанной в Москве 30 октября 1943 г., и Франция будут, в соответствии с положениями пункта 5 этой Декларации, консультироваться друг с другом и, в случае необходимости, с другими Членами Организации с целью таких совместных действий от имени Организации, какие могут оказаться необходимыми для поддержания международного мира и безопасности. + +Статья 107 +Настоящий Устав ни в коей мере не лишает юридической силы действия, предпринятые или санкционированные в результате второй мировой войны несущими ответственность за такие действия правительствами, в отношении любого государства, которое в течение второй мировой войны было врагом любого из государств, подписавших настоящий Устав, а также не препятствует таким действиям. + +Глава XVIII: Поправки +Статья 108 +Поправки к настоящему Уставу вступают в силу для всех Членов Организации, после того как они приняты двумя третями голосов членов Генеральной Ассамблеи и ратифицированы, в соответствии с их конституционной процедурой, двумя третями Членов Организации, включая всех постоянных членов Совета Безопасности. + +Статья 109 +С целью пересмотра настоящего Устава может быть созвана Генеральная конференция Членов Организации Объединенных Наций в срок и в месте, которые должны быть определены двумя третями голосов членов Генеральной Ассамблеи и голосами любых девяти членов Совета Безопасности. Каждый Член Организации будет иметь на Конференции один голос. +Любое изменение настоящего Устава, рекомендованное двумя третями голосов участников Конференции, вступит в силу по ратификации, в соответствии с их конституционной процедурой, двумя третями Членов Организации, включая всех постоянных членов Совета Безопасности. +Если такая Конференция не состоится до десятой ежегодной сессии Генеральной Ассамблеи, считая со вступления настоящего Устава в силу, предложение созвать такую Конференцию включается в повестку дня этой сессии Генеральной Ассамблеи, и Конференция созывается, если это будет решено простым большинством голосов членов Генеральной Ассамблеи и голосами любых семи членов Совета Безопасности. +Глава XIX: Ратификация и подписание +Статья 110 +Настоящий Устав подлежит ратификации подписавшими его государствами, в соответствии с их конституционной процедурой. +Ратификационные грамоты должны сдаваться на хранение Правительству Соединенных Штатов Америки, которое будет извещать о сдаче на хранение каждой грамоты все государства, подписавшие Устав, также как и Генерального Секретаря Организации, когда он будет назначен. +Настоящий Устав вступит в силу по сдаче на хранение ратификационных грамот Китайской Республикой, Францией, Союзом Советских Социалистических Республик, Соединенным Королевством Великобритании и Северной Ирландии и Соединенными Штатами Америки и большинством других государств, подписавших Устав. После этого Правительством Соединенных Штатов Америки будет составлен протокол о сдаче на хранение ратификационных грамот, копии с которого будут разосланы всем подписавшим Устав государствам. +Государства, подписавшие настоящий Устав, которые ратифицируют его после того, как он вступит в силу, станут Первоначальными Членами Организации Объединенных Наций со дня сдачи ими на хранение своих соответствующих ратификационных грамот. +Статья 111 +Настоящий Устав, китайский, французский, русский, английский и испанский тексты которого являются равно аутентичными, будет храниться в архиве Правительства Соединенных Штатов Америки. Это Правительство препровождает копии Устава, должным образом заверенные, Правительствам всех других подписавших его государств. + +В УДОСТОВЕРЕНИЕ ЧЕГО представители Правительств Объединенных Наций подписали настоящий Устав. + +СОСТАВЛЕНО в городе Сан-Франциско, июня двадцать шестого дня, тысяча девятьсот сорок пятого года. + + + +Поправки к статьям 23, 27, 61, 109 +Поправки к статьям 23, 27 и 61 Устава были приняты Генеральной Ассамблеей 17 декабря 1963 года и вступили в силу 31 августа 1965 года. Поправка к статье 109, принятая Генеральной Ассамблеей 20 декабря 1965 года, вступила в силу 12 июня 1968 года. + +Поправка к статье 23 Устава увеличивает число членов Совета Безопасности с одиннадцати до пятнадцати. + +Исправленная статья 27 предусматривает, что решения Совета Безопасности по процедурным вопросам считаются принятыми, когда за них поданы голоса девяти членов (раньше — семи), и по всем другим вопросам — когда за них поданы голоса девяти членов (раньше — семи), включая совпадающие голоса пяти постоянных членов Совета Безопасности. + +Поправка к статье 61 увеличивает число членов Экономического и Социального Совета с восемнадцати до двадцати семи. Последующая поправка к этой статье, вступившая в силу 24 сентября 1973 года, увеличивает число членов Совета с двадцати семи до пятидесяти четырех. + +Поправка к первому пункту статьи 109 предусматривает, что время и место проведения Генеральной конференции государств-членов с целью пересмотра Устава определяются двумя третями голосов членов Генеральной Ассамблеи и голосами любых девяти (раньше — семи) членов Совета Безопасности. Пункт 3 статьи 109 , который предусматривает возможность созыва конференции по пересмотру Устава, был рассмотрен Генеральной Ассамблеей и Советом Безопасности на десятой очередной сессии Генеральной Ассамблеи в 1955 году и оставлен в его первоначальной формулировке: «голосами любых семи членов Совета Безопасности». \ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_zh-CN.html b/stdlib/benchmarks/collections/data/UN_charter_zh-CN.html new file mode 100644 index 0000000000..a60d456724 --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_zh-CN.html @@ -0,0 +1,2365 @@ + + + + + + + + + + + + + + + + + + + 联合国宪章(全文) | 联合国 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + +
+
+ + + + +
+
+ + +
+ + + + + + + + + + +
+
+
+ +
+ + + +

联合国宪章(全文)

+ + + + +
+
+ + +
+ + + + +
+
+
+
+

序言

+ +

我联合国人民同兹决心

+ +

  欲免后世再遭今代人类两度身历惨不堪言之战祸,

+ +

  重申基本人权,人格尊严与价值,以及男女与大小各国平等权利之信念,

+ +

  创造适当环境,俾克维持正义,尊重由条约与国际法其他渊源而起之义务,久而弗懈,

+ +

  促成大自由中之社会进步及较善之民生,

+ +

并为达此目的

+ +

  力行容恕,彼此以善邻之道,和睦相处,

+ +

  集中力量,以维持国际和平及安全,

+ +

  接受原则,确立方法,以保证非为公共利益,不得使用武力,

+ +

  运用国际机构,以促成全球人民经济及社会之进展,

+ +

用是发愤立志,务当同心协力,以竟厥功

+ +

  爰由我各本国政府,经齐集金山市之代表各将所奉全权证书,互相校阅,均属妥善,议定本联合国宪章,并设立国际组织,定名联合国。

+ +

第一章:宗旨及原则

+ +

第一条

+ +

  联合国之宗旨为:

+ +

  一、维持国际和平及安全;并为此目的:采取有效集体办法,以防止且消除对于和平之威胁,制止侵略行为或其他和平之破坏;并以和平方法且依正义及国际法之原则,调整或解决足以破坏和平之国际争端或情势。

+ +

  二、发展国际间以尊重人民平等权利及自决原则为根据之友好关系,并采取其他适当办法,以增强普遍和平。

+ +

  三、促成国际合作,以解决国际间属于经济、社会、文化及人类福利性质之国际问题,且不分种族、性别、语言或宗教,增进并激励对于全体人类之人权及基本自由之尊重。

+ +

  四、构成一协调各国行动之中心,以达成上述共同目的。

+ +

第二条

+ +

  为求实现第一条所述各宗旨起见,本组织及其会员国应遵行下列原则:

+ +

  一、本组织系基于各会员国主权平等之原则。

+ +

  二、各会员国应一秉善意,履行其依本宪章所担负之义务,以保证全体会员国由加入本组织而发生之权益。

+ +

  三、各会员国应以和平方法解决其国际争端,俾免危及国际和平、安全及正义。

+ +

  四、各会员国在其国际关系上不得使用威胁或武力,或以与联合国宗旨不符之任何其他方法,侵害任何会员国或国家之领土完整或政治独立。

+ +

  五、各会员国对于联合国依本宪章规定而采取之行动,应尽力予以协助,联合国对于任何国家正在采取防止或执行行动时,各会员国对该国不得给予协助。

+ +

  六、本组织在维持国际和平及安全之必要范围内,应保证非联合国会员国遵行上述原则。

+ +

  七、本宪章不得认为授权联合国干涉在本质上属于任何国家国内管辖之事件,且并不要求会员国将该项事件依本宪章提请解决;但此项原则不妨碍第七章内执行办法之适用。

+ +

第二章:会员

+ +

第三条

+ +

  凡曾经参加金山联合国国际组织会议或前此曾签字于一九四二年一月一日联合国宣言之国家,签订本宪章,且依宪章第一百一十条规定而予以批准者,均为联合国之创始会员国。

+ +

第四条

+ +

  一、凡其他爱好和平之国家,接受本宪章所载之义务,经本组织认为确能并愿意履行该项义务者,得为联合国会员国。

+ +

  二、准许上述国家为联合国会员国,将由大会经安全理事会之推荐以决议行之。

+ +

第五条

+ +

  联合国会员国,业经安全理事会对其采取防止或执行行动者,大会经安全理事会之建议,得停止其会员权利及特权之行使。此项权利及特权之行使,得由安全理事会恢复之。

+ +

第六条

+ +

  联合国之会员国中,有屡次违犯本宪章所载之原则者,大会经安全理事会之建议,得将其由本组织除名。

+ +

第三章:机关

+ +

第七条

+ +

  一、兹设联合国之主要机关如下:大会、安全理事会、经济及社会理事会、托管理事会、国际法院、及秘书处。

+ +

  二、联合国得依本宪章设立认为必需之辅助机关。

+ +

第八条

+ +

  联合国对于男女均得在其主要及辅助机关在平等条件之下,充任任何职务,不得加以限制。

+ +

第四章:大会

+ +

组织

+ +

第九条

+ +

  一、大会由联合国所有会员国组织之。

+ +

  二、每一会员国在大会之代表,不得超过五人。

+ +

职权

+ +

第十条

+ +

  大会得讨论本宪章范围内之任何问题或事项,或关于本宪章所规定任何机关之职权;并除第十二条所规定外,得向联合国会员国或安全理事会或兼向两者,提出对各该问题或事项之建议。

+ +

第十一条

+ +

  一、大会得考虑关于维持国际和平及安全之合作之普通原则,包括军缩及军备管制之原则;并得向会员国或安全理事会或兼向两者提出对于该项原则之建议。

+ +

  二、大会得讨论联合国任何会员国或安全理事会或非联合国会员国依第三十五条第二项之规定向大会所提关于维持国际和平及安全之任何问题;除第十二条所规定外,并得向会员国或安全理事会或兼向两者提出对于各该项问题之建议。凡对于需要行动之各该项问题,应由大会于讨论前或讨论后提交安全理事会。

+ +

  三、大会对于足以危及国际和平与安全之情势,得提请安全理事会注意。

+ +

  四、本条所载之大会权力并不限制第十条之概括范围。

+ +

第十二条

+ +

  一、当安全理事会对于任何争端或情势,正在执行本宪章所授予该会之职务时,大会非经安全理事会请求,对于该项争端或情势,不得提出任何建议。

+ +

  二、秘书长经安全理事会之同意,应于大会每次会议时,将安全理事会正在处理中关于维持国际和平及安全之任何事件,通知大会;于安全理事会停止处理该项事件时,亦应立即通知大会,或在大会闭会期内通知联合国会员国。

+ +

第十三条

+ +

  一、大会应发动研究,并作成建议:

+ +

    (子) 以促进政治上之国际合作,并提倡国际法之逐渐发展与编纂。

+ +

    (丑) 以促进经济、社会、文化、教育及卫生各部门之国际合作,且不分种族、性别、语言或宗教,助成全体人类之人权及基本自由之实现。

+ +

  二、大会关于本条第一项(丑)款所列事项之其他责任及职权,于第九章及第十章中规定之。

+ +

第十四条

+ +

  大会对于其所认为足以妨害国际间公共福利或友好关系之任何情势,不论其起原如何,包括由违反本宪章所载联合国之宗旨及原则而起之情势,得建议和平调整办法,但以不违背第十二条之规定为限。

+ +

第十五条

+ +

  一、大会应收受并审查安全理事会所送之常年及特别报告;该项报告应载有安全理事会对于维持国际和平及安全所已决定或施行之办法之陈述。

+ +

  二、大会应收受并审查联合国其他机关所送之报告。

+ +

第十六条

+ +

  大会应执行第十二章及第十三章所授予关于国际托管制度之职务,包括关于非战略防区托管协定之核准。

+ +

第十七条

+ +

  一、大会应审核本组织之预算。

+ +

  二、本组织之经费应由各会员国依照大会分配限额担负之。

+ +

  三、大会应审核经与第五十七条所指各种专门机关订定之任何财政及预算办法,并应审查该项专门机关之行政预算,以便向关系机关提出建议。

+ +

投票

+ +

第十八条

+ +

  一、大会之每一会员国,应有一个投票权。

+ +

  二、大会对于重要问题之决议应以到会及投票之会员国三分之二多数决定之。此项问题应包括:关于维持国际和平及安全之建议,安全理事会非常任理事国之选举,经济及社会理事会理事国之选举,依第八十六条第一项(寅)款所规定托管理事会理事国之选举,对于新会员国加入联合国之准许,会员国权利及特权之停止,会员国之除名,关于施行托管制度之问题,以及预算问题。

+ +

  三、关于其他问题之决议,包括另有何种事项应以三分之二多数决定之问题,应以到会及投票之会员国过半数决定之。

+ +

第十九条

+ +

  凡拖欠本组织财政款项之会员国,其拖欠数目如等于或超过前两年所应缴纳之数目时,即丧失其在大会投票权。大会如认拖欠原因,确由于该会员国无法控制之情形者,得准许该会员国投票。

+ +

程序

+ +

第二十条

+ +

  大会每年应举行常会,并于必要时,举行特别会议。特别会议应由秘书长经安全理事会或联合国会员国过半数之请求召集之。

+ +

第二十一条

+ +

  大会应自行制定其议事规则。大会应选举每次会议之主席。

+ +

第二十二条

+ +

  大会得设立其认为于行使职务所必需之辅助大会。

+ +

第五章:安全理事会

+ +

组织

+ +

第二十三条

+ +

  一、安全理事会以联合国十五会员国组织之。中华民国、法兰西、苏维埃社会主义共和国联邦、大不列颠及北爱尔兰联合王国及美利坚合众国应为安全理事会常任理事国。大会应选举联合国其他十会员国为安全理事会非常任理事国,选举时首宜充分斟酌联合国各会员国于维持国际和平与安全及本组织其余各宗旨上之贡献,并宜充分斟酌地域上之公匀分配。

+ +

  二、安全理事会非常任理事国任期定为二年。安全理事会理事国自十一国增至十五国后第一次选举非常任理事国时,所增四国中两国之任期应为一年。任满之理事国不得即行连选。

+ +

  三、安全理事会每一理事国应有代表一人。

+ +

职权

+ +

第二十四条

+ +

  一、为保证联合国行动迅速有效起见,各会员国将维持国际和平及安全之主要责任,授予安全理事会,并同意安全理事会于履行此项责任下之职务时,即系代表各会员国。

+ +

  二、安全理事会于履行此项职务时,应遵照联合国之宗旨及原则。为履行此项职务而授予安全理事会之特定权力,于本宪章第六章、第七章、第八章及第十二章内规定之。

+ +

  三、安全理事会应将常年报告、并于必要时将特别报告,提送大会审查。

+ +

第二十五条

+ +

  联合国会员国同意依宪章之规定接受并履行安全理事会之决议。

+ +

第二十六条

+ +

  为促进国际和平及安全之建立及维持,以尽量减少世界人力及经济资源之消耗于军备起见,安全理事会借第四十七条所指之军事参谋团之协助,应负责拟具方案,提交联合国会员国,以建立军备管制制度。

+ +

投票

+ +

第二十七条

+ +

  一、安全理事会每一理事国应有一个投票权。

+ +

  二、安全理事会关于程序事项之决议,应以九理事国之可决票表决之。

+ +

  三、安全理事会对于其他一切事项之决议,应以九理事国之可决票包括全体常任理事国之同意票表决之;但对于第六章及第五十二条第三项内各事项之决议,争端当事国不得投票。

+ +

程序

+ +

第二十八条

+ +

  一、安全理事会之组织,应以使其能继续不断行使职务为要件。为此目的,安全理事会之各理事国应有常驻本组织会所之代表。

+ +

  二、安全理事会应举行定期会议,每一理事国认为合宜时得派政府大员或其他特别指定之代表出席。

+ +

  三、在本组织会所以外,安全理事会得在认为最能便利其工作之其他地点举行会议。

+ +

第二十九条

+ +

  安全理事会得设立其认为于行使职务所必需之辅助机关。

+ +

第三十条

+ +

  安全理事会应自行制定其议事规则,包括其推选主席之方法。

+ +

第三十一条

+ +

  在安全理事会提出之任何问题,经其认为对于非安全理事会理事国之联合国任何会员国之利益有特别关系时,该会员国得参加讨论,但无投票权。

+ +

第三十二条

+ +

  联合国会员国而非为安全理事会之理事国,或非联合国会员国之国家,如于安全理事会考虑中之争端为当事国者,应被邀参加关于该项争端之讨论,但无投票权。安全理事会应规定其所认为公平之条件,以便非联合国会员国之国家参加。

+ +

第六章:争端之和平解决

+ +

 

+ +

第三十三条

+ +

  一、任何争端之当事国,于争端之继续存在足以危及国际和平与安全之维持时,应尽先以谈判、调查、调停、和解、公断、司法解决、区域机关或区域办法之利用,或各该国自行选择之其他和平方法,求得解决。

+ +

  二、安全理事会认为必要时,应促请各当事国以此项方法,解决其争端。

+ +

第三十四条

+ +

  安全理事会得调查任何争端或可能引起国际磨擦或惹起争端之任何情势,以断定该项争端或情势之继续存在是否足以危及国际和平与安全之维持。

+ +

第三十五条

+ +

  一、联合国任何会员国得将属于第三十四条所指之性质之任何争端或情势,提请安全理事会或大会注意。

+ +

  二、非联合国会员国之国家如为任何争端之当事国时,经预先声明就该争端而言接受本宪章所规定和平解决之义务后,得将该项争端,提请大会或安全理事会注意。

+ +

  三、大会关于按照本条所提请注意事项之进行步骤,应遵守第十一条及第十二条之规定。

+ +

第三十六条

+ +

  一、属于第三十三条所指之性质之争端或相似之情势,安全理事会在任何阶段,得建议适当程序或调整方法。

+ +

  二、安全理事会对于当事国为解决争端业经采取之任何程序,理应予以考虑。

+ +

  三、安全理事会按照本条作成建议时,同时理应注意凡具有法律性质之争端,在原则上,理应由当事国依国际法院规约之规定提交国际法院。

+ +

第三十七条

+ +

  一、属于第三十三条所指之性质之争端,当事国如未能依该条所示方法解决时,应将该项争端提交安全理事会。

+ +

  二、安全理事会如认为该项争端之继续存在,在事实上足以危及国际和平与安全之维持时,应决定是否当依第三十六条采取行动或建议其所认为适当之解决条件。

+ +

第三十八条

+ +

  安全理事会如经所有争端当事国之请求,得向各当事国作成建议,以求争端之和平解决,但以不妨碍第三十三条至第三十七条之规定为限。

+ +

第七章:对于和平之威胁、和平之破坏及侵略行为之应付办法

+ +

第三十九条

+ +

  安全理事会应断定任何和平之威胁、和平之破坏或侵略行为之是否存在,并应作成建议或抉择依第四十一条及第四十二条规定之办法,以维持或恢复国际和平及安全。

+ +

第四十条

+ +

  为防止情势之恶化,安全理事会在依第三十九条规定作成建议或决定办法以前,得促请关系当事国遵行安全理事会所认为必要或合宜之临时办法。此项临时办法并不妨碍关系当事国之权利、要求或立场。安全理事会对于不遵行此项临时办法之情形,应予适当注意。

+ +

第四十一条

+ +

  安全理事会得决定所应采武力以外之办法,以实施其决议,并得促请联合国会员国执行此项办法。此项办法得包括经济关系、铁路、海运、航空、邮、电、无线电及其他交通工具之局部或全部停止,以及外交关系之断绝。

+ +

第四十二条

+ +

  安全理事会如认第四十一条所规定之办法为不足或已经证明为不足时,得采取必要之空海陆军行动,以维持或恢复国际和平及安全。此项行动得包括联合国会员国之空海陆军示威、封锁及其他军事举动。

+ +

第四十三条

+ +

  一、联合国各会员国为求对于维持国际和平及安全有所贡献起见,担任于安全理事会发令时,并依特别协定,供给为维持国际和平及安全所必需之军队、协助及便利,包括过境权。

+ +

  二、此项特别协定应规定军队之数目及种类,其准备程度及一般驻扎地点,以及所供便利及协助之性质。

+ +

  三、此项特别协定应以安全理事会之主动,尽速议订。此项协定应由安全理事会与会员国或由安全理事会与若干会员国之集团缔结之,并由签字国各依其宪法程序批准之。

+ +

第四十四条

+ +

  安全理事会决定使用武力时,于要求非安全理事会会员国依第四十三条供给军队以履行其义务之前,如经该会员国请求,应请其遣派代表,参加安全理事会关于使用其军事部队之决议。

+ +

第四十五条

+ +

  为使联合国能采取紧急军事办法起见,会员国应将其本国空军部队为国际共同执行行动随时供给调遣。此项部队之实力与准备之程度,及其共同行动之计划,应由安全理事会以军事参谋团之协助,在第四十三条所指之特别协定范围内决定之。

+ +

第四十六条

+ +

  武力使用之计划应由安全理事会以军事参谋团之协助决定之。

+ +

第四十七条

+ +

  一、兹设立军事参谋团,以便对于安全理事会维持国际和平及安全之军事需要问题,对于受该会所支配军队之使用及统率问题,对于军备之管制及可能之军缩问题,向该会贡献意见并予以协助。

+ +

  二、军事参谋团应由安全理事会各常任理事国之参谋总长或其代表组织之。联合国任何会员国在该团未有常任代表者,如于该团责任之履行在效率上必需该国参加其工作时,应由该团邀请参加。

+ +

  三、军事参谋团在安全理事会权力之下,对于受该会所支配之任何军队,负战略上之指挥责任;关于该项军队之统率问题,应待以后处理。

+ +

  四、军事参谋团,经安全理事会之授权,并与区域内有关机关商议后、得设立区域分团。

+ +

第四十八条

+ +

  一、执行安全理事会为维持国际和平及安全之决议所必要之行动,应由联合国全体会员国或由若干会员国担任之,一依安全理事会之决定。

+ +

  二、此项决议应由联合国会员国以其直接行动及经其加入为会员之有关国际机关之行动履行之。

+ +

第四十九条

+ +

  联合国会员国应通力合作,彼此协助,以执行安全理事会所决定之办法。

+ +

第五十条

+ +

  安全理事会对于任何国家采取防止或执行办法时,其他国家,不论其是否为联合国会员国,遇有因此项办法之执行而引起之特殊经济问题者,应有权与安全理事会会商解决此项问题。

+ +

第五十一条

+ +

  联合国任何会员国受武力攻击时,在安全理事会采取必要办法,以维持国际和平及安全以前,本宪章不得认为禁止行使单独或集体自卫之自然权利。会员国因行使此项自卫权而采取之办法,应立向安全理事会报告,此项办法于任何方面不得影响该会按照本宪章随时采取其所认为必要行动之权责,以维持或恢复国际和平及安全。

+ +

第八章:区域办法

+ +

第五十二条

+ +

  一、本宪章不得认为排除区域办法或区域机关、用以应付关于维持国际和平及安全而宜于区域行动之事件者;但以此项办法或机关及其工作与联合国之宗旨及原则符合者为限。

+ +

  二、缔结此项办法或设立此项机关之联合国会员国,将地方争端提交安全理事会以前,应依该项区域办法,或由该项区域机关,力求和平解决。

+ +

  三、安全理事会对于依区域办法或由区域机关而求地方争端之和平解决,不论其系由关系国主动,或由安全理事会提交者,应鼓励其发展。

+ +

  四、本条绝不妨碍第三十四条及第三十五条之适用。

+ +

第五十三条

+ +

  一、安全理事会对于职权内之执行行动,在适当情形下,应利用此项区域办法或区域机关。如无安全理事会之授权,不得依区域办法或由区域机关采取任何执行行动;但关于依第一百零七条之规定对付本条第二项所指之任何敌国之步骤,或在区域办法内所取防备此等国家再施其侵略政策之步骤,截至本组织经各关系政府之请求,对于此等国家之再次侵略,能担负防止责任时为止,不在此限。

+ +

  二、本条第一项所称敌国系指第二次世界大战中为本宪章任何签字国之敌国而言。

+ +

第五十四条

+ +

  关于为维持国际和平及安全起见,依区域办法或由区域机关所已采取或正在考虑之行动,不论何时应向安全理事会充分报告之。

+ +

第九章:国际经济及社会

+ +

第五十五条

+ +

  为造成国际间以尊重人民平等权利及自决原则为根据之和平友好关系所必要之安定及福利条件起见,联合国应促进:

+ +

  (子) 较高之生活程度,全民就业,及经济与社会进展。

+ +

  (丑) 国际间经济、社会、卫生及有关问题之解决;国际间文化及教育合作。

+ +

  (寅) 全体人类之人权及基本自由之普遍尊重与遵守,不分种族、性别、语言或宗教。

+ +

第五十六条

+ +

  各会员国担允采取共同及个别行动与本组织合作,以达成第五十五条所载之宗旨。

+ +

第五十七条

+ +

  一、由各国政府间协定所成立之各种专门机关,依其组织约章之规定,于经济、社会、文化、教育、卫生及其他有关部门负有广大国际责任者,应依第六十三条之规定使与联合国发生关系。

+ +

  二、上述与联合国发生关系之各专门机关,以下简称专门机关。

+ +

第五十八条

+ +

  本组织应作成建议,以调整各专门机关之政策及工作。

+ +

第五十九条

+ +

  本组织应于适当情形下,发动各关系国间之谈判,以创设为达成第五十五条规定宗旨所必要之新专门机关。

+ +

第六十条

+ +

  履行本章所载本组织职务之责任,属于大会及大会权力下之经济及社会理事会。为此目的,该理事会应有第十章所载之权力。

+ +

第十章:经济及社会理事会

+ +

组织

+ +

第六十一条

+ +

  一、经济及社会理事会由大会选举联合国五十四会员国组织之。

+ +

  二、除第三项所规定外,经济及社会理事会每年选举理事十八国,任期三年。任满之理事国得即行连选。

+ +

  三、经济及社会理事会理事国自二十七国增至五十四国后第一次选举时,除选举理事九国接替任期在该年年终届满之理事国外,应另增选理事二十七国。增选之理事二十七国中,九国任期一年,另九国任期二年,一依大会所定办法。

+ +

  四、经济及社会理事会之每一理事国应有代表一人。

+ +

职权

+ +

第六十二条

+ +

  一、经济及社会理事会得作成或发动关于国际经济、社会、文化、教育、卫生及其他有关事项之研究及报告;并得向大会、联合国会员国及关系专门机关提出关于此种事项之建议案。

+ +

  二、本理事会为增进全体人类之人权及基本自由之尊重及维护起见,得作成建议案。

+ +

  三、本理事会得拟具关于其职权范围内事项之协约草案,提交大会。

+ +

  四、本理事会得依联合国所定之规则召集本理事会职务范围以内事项之国际会议。

+ +

第六十三条

+ +

  一、经济及社会理事会得与第五十七条所指之任何专门机关订立协定,订明关系专门机关与联合国发生关系之条件。该项协定须经大会之核准。

+ +

  二、本理事会,为调整各种专门机关之工作,得与此种机关会商并得向其提出建议,并得向大会及联合国会员国建议。

+ +

第六十四条

+ +

  一、经济及社会理事会得取适当步骤,以取得专门机关之经常报告。本理事会得与联合国会员国及专门机关,商定办法俾就实施本理事会之建议及大会对于本理事会职权范围内事项之建议所采之步骤,取得报告。

+ +

  二、本理事会得将对于此项报告之意见提送大会。

+ +

第六十五条

+ +

  经济及社会理事会得向安全理事会供给情报,并因安全理事会之邀请,予以协助。

+ +

第六十六条

+ +

  一、经济及社会理事会应履行其职权范围内关于执行大会建议之职务。

+ +

  二、经大会之许可,本理事会得应联合国会员国或专门机关之请求,供其服务。

+ +

  三、本理事会应履行本宪章他章所特定之其他职务,以及大会所授予之职务。

+ +

投票

+ +

第六十七条

+ +

  一、经济及社会理事会每一理事国应有一个投票权。

+ +

  二、本理事会之决议,应以到会及投票之理事国过半数表决之。

+ +

程序

+ +

第六十八条

+ +

  经济及社会理事会应设立经济与社会部门及以提倡人权为目的之各种委员会,并得设立于行使职务所必需之其他委员会。

+ +

第六十九条

+ +

  经济及社会理事会应请联合国会员国参加讨论本理事会对于该国有特别关系之任何事件,但无投票权。

+ +

第七十条

+ +

  经济及社会理事会得商定办法使专门机关之代表无投票权而参加本理事会及本理事会所设各委员会之讨论,或使本理事会之代表参加此项专门机关之讨论。

+ +

第七十一条

+ +

  经济及社会理事会得采取适当办法,俾与各种非政府组织会商有关于本理事会职权范围内之事件。此项办法得与国际组织商定之,并于适当情形下,经与关系联合国会员国会商后,得与该国国内组织商定之。

+ +

第七十二条

+ +

  一、经济及社会理事会应自行制定其议事规则,包括其推选主席之方法。

+ +

  二、经济及社会理事会应依其规则举行必要之会议。此项规则应包括因理事国过半数之请求而召集会议之条款。

+ +

第十一章:关于非自治领土之宣言

+ +

第七十三条

+ +

  联合国各会员国,于其所负有或承担管理责任之领土,其人民尚未臻自治之充分程度者,承认以领土居民之福利为至上之原则,并接受在本宪章所建立之国际和平及安全制度下,以充分增进领土居民福利之义务为神圣之信托,且为此目的:

+ +

  (子) 于充分尊重关系人民之文化下,保证其政治、经济、社会及教育之进展,予以公平待遇,且保障其不受虐待。

+ +

  (丑) 按各领土及其人民特殊之环境、及其进化之阶段,发展自治;对各该人民之政治愿望,予以适当之注意;并助其自由政治制度之逐渐发展。

+ +

  (寅) 促进国际和平及安全。

+ +

  (卯) 提倡建设计划,以求进步;奖励研究;各国彼此合作,并于适当之时间及场合与专门国际团体合作,以求本条所载社会、经济及科学目的之实现。

+ +

  (辰) 在不违背安全及宪法之限制下,按时将关于各会员国分别负责管理领土内之经济、社会及教育情形之统计及具有专门性质之情报,递送秘书长,以供参考。本宪章第十二章及第十三章所规定之领土,不在此限。

+ +

第七十四条

+ +

  联合国各会员国公同承诺对于本章规定之领土,一如对于本国区域,其政策必须以善邻之道奉为圭臬;并于社会、经济及商业上,对世界各国之利益及幸福,予以充分之注意。

+ +

第十二章:国际托管制度

+ +

第七十五条

+ +

  联合国在其权力下,应设立国际托管制度,以管理并监督凭此后个别协定而置于该制度下之领土。此项领土以下简称托管领土。

+ +

第七十六条

+ +

  按据本宪章第一条所载联合国之宗旨,托管制度之基本目的应为:

+ +

  (子) 促进国际和平及安全。

+ +

  (丑) 增进托管领土居民之政治、经济、社会及教育之进展;并以适合各领土及其人民之特殊情形及关系人民自由表示之愿望为原则,且按照各托管协定之条款,增进其趋向自治或独立之逐渐发展。

+ +

  (寅) 不分种族、性别、语言或宗教,提倡全体人类之人权及基本自由之尊重,并激发世界人民互相维系之意识。

+ +

  (卯) 于社会、经济及商业事件上,保证联合国全体会员国及其国民之平等待遇,及各该国民于司法裁判上之平等待遇,但以不妨碍上述目的之达成,且不违背第八十条之规定为限。

+ +

第七十七条

+ +

  一、托管制度适用于依托管协定所置于该制度下之下列各种类之领土:

+ +

    (子) 现在委任统治下之领土。

+ +

    (丑) 因第二次世界大战结果或将自敌国割离之领土。

+ +

    (寅) 负管理责任之国家自愿置于该制度下之领土。

+ +

  二、关于上列种类中之何种领土将置于托管制度之下,及其条件,为此后协定所当规定之事项。

+ +

第七十八条

+ +

  凡领土已成为联合国之会员国者,不适用托管制度;联合国会员国间之关系,应基于尊重主权平等之原则。

+ +

第七十九条

+ +

  置于托管制度下之每一领土之托管条款,及其更改或修正,应由直接关系各国、包括联合国之会员国而为委任统治地之受托国者,予以议定,其核准应依第八十三条及第八十五条之规定。

+ +

第八十条

+ +

  一、除依第七十七条、第七十九条及第八十一条所订置各领土于托管制度下之个别托管协定另有议定外,并在该项协定未经缔结以前,本章任何规定绝对不得解释为以任何方式变更任何国家或人民之权利、或联合国会员国个别签订之现有国际约章之条款。

+ +

  二、本条第一项不得解释为对于依第七十七条之规定而订置委任统治地或其他领土于托管制度下之协定,授以延展商订之理由。

+ +

第八十一条

+ +

  凡托管协定均应载有管理领土之条款,并指定管理托管领土之当局。该项当局,以下简称管理当局,得为一个或数个国家,或为联合国本身。

+ +

第八十二条

+ +

  于任何托管协定内,得指定一个或数个战略防区,包括该项协定下之托管领土之一部或全部,但该项协定并不妨碍依第四十三条而订立之任何特别协定。

+ +

第八十三条

+ +

  一、联合国关于战略防区之各项职务,包括此项托管协定条款之核准、及其更改或修正,应由安全理事会行使之。

+ +

  二、第七十六条所规定之基本目的,适用于每一战略防区之人民。

+ +

  三、安全理事会以不违背托管协定之规定且不妨碍安全之考虑为限,应利用托管理事会之协助,以履行联合国托管制度下关于战略防区内之政治、经济、社会及教育事件之职务。

+ +

第八十四条

+ +

  管理当局有保证托管领土对于维持国际和平及安全尽其本分之义务。该当局为此目的得利用托管领土之志愿军、便利及协助,以履行该当局对于安全理事会所负关于此点之义务,并以实行地方自卫,且在托管领土内维持法律与秩序。

+ +

第八十五条

+ +

  一、联合国关于一切非战略防区托管协定之职务,包括此项托管协定条款之核准及其更改或修正,应由大会行使之。

+ +

  二、托管理事会于大会权力下,应协助大会履行上述之职务。

+ +

第十三章:托管理事会

+ +

组织

+ +

第八十六条

+ +

  一、托管理事会应由下列联合国会员国组织之:

+ +

    (子) 管理托管领土之会员国。

+ +

    (丑) 第二十三条所列名之国家而现非管理托管领土者。

+ +

    (寅) 大会选举必要数额之其他会员国,任期三年,俾使托管理事会理事国之总数,于联合国会员国中之管理托管领土者及不管理者之间,得以平均分配。

+ +

  二、托管理事会之每一理事国应指定一特别合格之人员,以代表之。

+ +

职权

+ +

第八十七条

+ +

  大会及在其权力下之托管理事会于履行职务时得:

+ +

  (子) 审查管理当局所送之报告。

+ +

  (丑) 会同管理当局接受并审查请愿书。

+ +

  (寅) 与管理当局商定时间,按期视察各托管领土。

+ +

  (卯) 依托管协定之条款,采取上述其他行动。

+ +

第八十八条

+ +

  托管理事会应拟定关于各托管领土居民之政治、经济、社会及教育进展之问题单;就大会职权范围内,各托管领土之管理当局应根据该项问题单向大会提出常年报告。

+ +

投票

+ +

第八十九条

+ +

  一、托管理事会之每一理事国应有一个投票权。

+ +

  二、托管理事会之决议应以到会及投票之理事国过半数表决之。

+ +

程序

+ +

第九十条

+ +

  一、托管理事会应自行制定其议事规则,包括其推选主席之方法。

+ +

  二、托管理事会应依其所定规则,举行必要之会议。此项规则应包括关于经该会理事国过半数之请求而召集会议之规定。

+ +

第九十一条

+ +

  托管理事会于适当时,应利用经济及社会理事会之协助,并对于各关系事项,利用专门机关之协助。

+ +

第十四章:国际法院

+ +

第九十二条

+ +

  国际法院为联合国之主要司法机关,应依所附规约执行其职务。该项规约系以国际常设法院之规约为根据并为本宪章之构成部分。

+ +

第九十三条

+ +

  一、联合国各会员国为国际法院规约之当然当事国

+ +

  二、非联合国会员国之国家得为国际法院规约当事国之条件,应由大会经安全理事会之建议就各别情形决定之。

+ +

第九十四条

+ +

  一、联合国每一会员国为任何案件之当事国者,承诺遵行国际法院之判决。

+ +

  二、遇有一造不履行依法院判决应负之义务时,他造得向于安全理事会申诉。安全理事会如认为必要时,得作成建议或决定应采办法,以执行判决。

+ +

第九十五条

+ +

  本宪章不得认为禁止联合国会员国依据现有或以后缔结之协定,将其争端托付其他法院解决。

+ +

第九十六条

+ +

  一、大会或安全理事会对于任何法律问题得请国际法院发表咨询意见。

+ +

  二、联合国其他机关及各种专门机关,对于其工作范围内之任何法律问题,得随时以大会之授权,请求国际法院发表咨询意见。

+ +

第十五章:秘书处

+ +

第九十七条

+ +

  秘书处置秘书长一人及本组织所需之办事人员若干人。秘书长应由大会经安全理事会之推荐委派之。秘书长为本组织之行政首长。

+ +

第九十八条

+ +

  秘书长在大会、安全理事会、经济及社会理事会、及托管理事会之一切会议,应以秘书长资格行使职务,并应执行各该机关所托付之其他职务。秘书长应向大会提送关于本组织工作之常年报告。

+ +

第九十九条

+ +

  秘书长得将其所认为可能威胁国际和平及安全之任何事件,提请安全理事会注意。

+ +

第一百条

+ +

  一、秘书长及办事人员于执行职务时,不得请求或接受本组织以外任何政府或其他当局之训示,并应避免足以妨碍其国际官员地位之行动。秘书长及办事人员专对本组织负责。

+ +

  二、联合国各会员国承诺尊重秘书长及办事人员责任之专属国际性,决不设法影响其责任之履行。

+ +

第一百零一条

+ +

  一、办事人员由秘书长依大会所定章程委派之。

+ +

  二、适当之办事人员应长期分配于经济及社会理事会、托管理事会,并于必要时,分配于联合国其他之机关。此项办事人员构成秘书处之一部。

+ +

  三、办事人员之雇用及其服务条件之决定,应以求达效率、才干及忠诚之最高标准为首要考虑。征聘办事人员时,于可能范围内,应充分注意地域上之普及。

+ +

第十六章:杂项条款

+ +

第一百零二条

+ +

  一、本宪章发生效力后,联合国任何会员国所缔结之一切条约及国际协定应尽速在秘书处登记,并由秘书处公布之。

+ +

  二、当事国对于未经依本条第一项规定登记之条约或国际协定,不得向联合国任何机关援引之。

+ +

第一百零三条

+ +

  联合国会员国在本宪章下之义务与其依任何其他国际协定所负之义务有冲突时,其在本宪章下之义务应居优先。

+ +

第一百零四条

+ +

  本组织于每一会员国之领土内,应享受于执行其职务及达成其宗旨所必需之法律行为能力。

+ +

第一百零五条

+ +

  一、本组织于每一会员国之领土内,应享受于达成其宗旨所必需之特权及豁免。

+ +

  二、联合国会员国之代表及本组织之职员,亦应同样享受于其独立行使关于本组织之职务所必需之特权及豁免。

+ +

  三、为明定本条第一项及第二项之施行细则起见,大会得作成建议,或为此目的向联合国会员国提议协约。

+ +

第十七章:过渡安全办法

+ +

第一百零六条

+ +

  在第四十三条所称之特别协定尚未生效,因而安全理事会认为尚不得开始履行第四十二条所规定之责任前,一九四三年十月三十日在莫斯科签订四国宣言之当事国及法兰西应依该宣言第五项之规定,互相洽商,并于必要时,与联合国其他会员国洽商,以代表本组织采取为维持国际和平及安全宗旨所必要之联合行动。

+ +

第一百零七条

+ +

  本宪章并不取消或禁止负行动责任之政府对于在第二次世界大战中本宪章任何签字国之敌国因该次战争而采取或受权执行之行动。

+ +

第十八章:修正

+ +

第一百零八条

+ +

  本宪章之修正案经大会会员国三分之二表决并由联合国会员国三分之二、包括安全理事会全体常任理事国,各依其宪法程序批准后,对于联合国所有会员国发生效力。

+ +

第一百零九条

+ +

  一、联合国会员国,为检讨本宪章,得以大会会员国三分之二表决,经安全理事会任何九理事国之表决,确定日期及地点举行全体会议。联合国每一会员国在全体会议中应有一个投票权。

+ +

  二、全体会议以三分之二表决所建议对于宪章之任何更改,应经联合国会员国三分之二、包括安全理事会全体常任理事国,各依其宪法程序批准后,发生效力。

+ +

  三、如于本宪章生效后大会第十届年会前,此项全体会议尚未举行时,应将召集全体会议之提议列入大会该届年会之议事日程;如得大会会员国过半数及安全理事会任何七理事国之表决,此项会议应即举行。

+ +

第十九章:批准及签字

+ +

第一百一十条

+ +

  一、本宪章应由签字国各依其宪法程序批准之。

+ +

  二、批准书应交存美利坚合众国政府。该国政府应于每一批准书交存时通知各签字国,如本组织秘书长业经委派时,并应通知秘书长。

+ +

  三、一俟美利坚合众国政府通知已有中华民国、法兰西、苏维埃社会主义共和国联邦、大不列颠及北爱尔兰联合王国、与美利坚合众国、以及其他签字国之过半数将批准书交存时,本宪章即发生效力。美利坚合众国政府应拟就此项交存批准之议定书并将副本分送所有签字国。

+ +

  四、本宪章签字国于宪章发生效力后批准者,应自其各将批准书交存之日起为联合国之创始会员国。

+ +

第一百一十一条

+ +

  本宪章应留存美利坚合众国政府之档库,其中、法、俄、英、及西文各本同一作准。该国政府应将正式副本分送其他签字国政府。

+ +

  为此联合国各会员国政府之代表谨签字于本宪章,以昭信守。

+ +

  公历一千九百四十五年六月二十六日签订于金山市。

+
+
+
+ + + +
+ +
+
+ +
+
+
+ + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + +
\ No newline at end of file diff --git a/stdlib/benchmarks/collections/data/UN_charter_zh-CN.txt b/stdlib/benchmarks/collections/data/UN_charter_zh-CN.txt new file mode 100644 index 0000000000..6be192a83c --- /dev/null +++ b/stdlib/benchmarks/collections/data/UN_charter_zh-CN.txt @@ -0,0 +1,609 @@ +联合国宪章(全文) +序言 +我联合国人民同兹决心 +  欲免后世再遭今代人类两度身历惨不堪言之战祸, + +  重申基本人权,人格尊严与价值,以及男女与大小各国平等权利之信念, + +  创造适当环境,俾克维持正义,尊重由条约与国际法其他渊源而起之义务,久而弗懈, + +  促成大自由中之社会进步及较善之民生, + +并为达此目的 +  力行容恕,彼此以善邻之道,和睦相处, + +  集中力量,以维持国际和平及安全, + +  接受原则,确立方法,以保证非为公共利益,不得使用武力, + +  运用国际机构,以促成全球人民经济及社会之进展, + +用是发愤立志,务当同心协力,以竟厥功 +  爰由我各本国政府,经齐集金山市之代表各将所奉全权证书,互相校阅,均属妥善,议定本联合国宪章,并设立国际组织,定名联合国。 + +第一章:宗旨及原则 +第一条 +  联合国之宗旨为: + +  一、维持国际和平及安全;并为此目的:采取有效集体办法,以防止且消除对于和平之威胁,制止侵略行为或其他和平之破坏;并以和平方法且依正义及国际法之原则,调整或解决足以破坏和平之国际争端或情势。 + +  二、发展国际间以尊重人民平等权利及自决原则为根据之友好关系,并采取其他适当办法,以增强普遍和平。 + +  三、促成国际合作,以解决国际间属于经济、社会、文化及人类福利性质之国际问题,且不分种族、性别、语言或宗教,增进并激励对于全体人类之人权及基本自由之尊重。 + +  四、构成一协调各国行动之中心,以达成上述共同目的。 + +第二条 +  为求实现第一条所述各宗旨起见,本组织及其会员国应遵行下列原则: + +  一、本组织系基于各会员国主权平等之原则。 + +  二、各会员国应一秉善意,履行其依本宪章所担负之义务,以保证全体会员国由加入本组织而发生之权益。 + +  三、各会员国应以和平方法解决其国际争端,俾免危及国际和平、安全及正义。 + +  四、各会员国在其国际关系上不得使用威胁或武力,或以与联合国宗旨不符之任何其他方法,侵害任何会员国或国家之领土完整或政治独立。 + +  五、各会员国对于联合国依本宪章规定而采取之行动,应尽力予以协助,联合国对于任何国家正在采取防止或执行行动时,各会员国对该国不得给予协助。 + +  六、本组织在维持国际和平及安全之必要范围内,应保证非联合国会员国遵行上述原则。 + +  七、本宪章不得认为授权联合国干涉在本质上属于任何国家国内管辖之事件,且并不要求会员国将该项事件依本宪章提请解决;但此项原则不妨碍第七章内执行办法之适用。 + +第二章:会员 +第三条 +  凡曾经参加金山联合国国际组织会议或前此曾签字于一九四二年一月一日联合国宣言之国家,签订本宪章,且依宪章第一百一十条规定而予以批准者,均为联合国之创始会员国。 + +第四条 +  一、凡其他爱好和平之国家,接受本宪章所载之义务,经本组织认为确能并愿意履行该项义务者,得为联合国会员国。 + +  二、准许上述国家为联合国会员国,将由大会经安全理事会之推荐以决议行之。 + +第五条 +  联合国会员国,业经安全理事会对其采取防止或执行行动者,大会经安全理事会之建议,得停止其会员权利及特权之行使。此项权利及特权之行使,得由安全理事会恢复之。 + +第六条 +  联合国之会员国中,有屡次违犯本宪章所载之原则者,大会经安全理事会之建议,得将其由本组织除名。 + +第三章:机关 +第七条 +  一、兹设联合国之主要机关如下:大会、安全理事会、经济及社会理事会、托管理事会、国际法院、及秘书处。 + +  二、联合国得依本宪章设立认为必需之辅助机关。 + +第八条 +  联合国对于男女均得在其主要及辅助机关在平等条件之下,充任任何职务,不得加以限制。 + +第四章:大会 +组织 +第九条 +  一、大会由联合国所有会员国组织之。 + +  二、每一会员国在大会之代表,不得超过五人。 + +职权 +第十条 +  大会得讨论本宪章范围内之任何问题或事项,或关于本宪章所规定任何机关之职权;并除第十二条所规定外,得向联合国会员国或安全理事会或兼向两者,提出对各该问题或事项之建议。 + +第十一条 +  一、大会得考虑关于维持国际和平及安全之合作之普通原则,包括军缩及军备管制之原则;并得向会员国或安全理事会或兼向两者提出对于该项原则之建议。 + +  二、大会得讨论联合国任何会员国或安全理事会或非联合国会员国依第三十五条第二项之规定向大会所提关于维持国际和平及安全之任何问题;除第十二条所规定外,并得向会员国或安全理事会或兼向两者提出对于各该项问题之建议。凡对于需要行动之各该项问题,应由大会于讨论前或讨论后提交安全理事会。 + +  三、大会对于足以危及国际和平与安全之情势,得提请安全理事会注意。 + +  四、本条所载之大会权力并不限制第十条之概括范围。 + +第十二条 +  一、当安全理事会对于任何争端或情势,正在执行本宪章所授予该会之职务时,大会非经安全理事会请求,对于该项争端或情势,不得提出任何建议。 + +  二、秘书长经安全理事会之同意,应于大会每次会议时,将安全理事会正在处理中关于维持国际和平及安全之任何事件,通知大会;于安全理事会停止处理该项事件时,亦应立即通知大会,或在大会闭会期内通知联合国会员国。 + +第十三条 +  一、大会应发动研究,并作成建议: + +    (子) 以促进政治上之国际合作,并提倡国际法之逐渐发展与编纂。 + +    (丑) 以促进经济、社会、文化、教育及卫生各部门之国际合作,且不分种族、性别、语言或宗教,助成全体人类之人权及基本自由之实现。 + +  二、大会关于本条第一项(丑)款所列事项之其他责任及职权,于第九章及第十章中规定之。 + +第十四条 +  大会对于其所认为足以妨害国际间公共福利或友好关系之任何情势,不论其起原如何,包括由违反本宪章所载联合国之宗旨及原则而起之情势,得建议和平调整办法,但以不违背第十二条之规定为限。 + +第十五条 +  一、大会应收受并审查安全理事会所送之常年及特别报告;该项报告应载有安全理事会对于维持国际和平及安全所已决定或施行之办法之陈述。 + +  二、大会应收受并审查联合国其他机关所送之报告。 + +第十六条 +  大会应执行第十二章及第十三章所授予关于国际托管制度之职务,包括关于非战略防区托管协定之核准。 + +第十七条 +  一、大会应审核本组织之预算。 + +  二、本组织之经费应由各会员国依照大会分配限额担负之。 + +  三、大会应审核经与第五十七条所指各种专门机关订定之任何财政及预算办法,并应审查该项专门机关之行政预算,以便向关系机关提出建议。 + +投票 +第十八条 +  一、大会之每一会员国,应有一个投票权。 + +  二、大会对于重要问题之决议应以到会及投票之会员国三分之二多数决定之。此项问题应包括:关于维持国际和平及安全之建议,安全理事会非常任理事国之选举,经济及社会理事会理事国之选举,依第八十六条第一项(寅)款所规定托管理事会理事国之选举,对于新会员国加入联合国之准许,会员国权利及特权之停止,会员国之除名,关于施行托管制度之问题,以及预算问题。 + +  三、关于其他问题之决议,包括另有何种事项应以三分之二多数决定之问题,应以到会及投票之会员国过半数决定之。 + +第十九条 +  凡拖欠本组织财政款项之会员国,其拖欠数目如等于或超过前两年所应缴纳之数目时,即丧失其在大会投票权。大会如认拖欠原因,确由于该会员国无法控制之情形者,得准许该会员国投票。 + +程序 +第二十条 +  大会每年应举行常会,并于必要时,举行特别会议。特别会议应由秘书长经安全理事会或联合国会员国过半数之请求召集之。 + +第二十一条 +  大会应自行制定其议事规则。大会应选举每次会议之主席。 + +第二十二条 +  大会得设立其认为于行使职务所必需之辅助大会。 + +第五章:安全理事会 +组织 +第二十三条 +  一、安全理事会以联合国十五会员国组织之。中华民国、法兰西、苏维埃社会主义共和国联邦、大不列颠及北爱尔兰联合王国及美利坚合众国应为安全理事会常任理事国。大会应选举联合国其他十会员国为安全理事会非常任理事国,选举时首宜充分斟酌联合国各会员国于维持国际和平与安全及本组织其余各宗旨上之贡献,并宜充分斟酌地域上之公匀分配。 + +  二、安全理事会非常任理事国任期定为二年。安全理事会理事国自十一国增至十五国后第一次选举非常任理事国时,所增四国中两国之任期应为一年。任满之理事国不得即行连选。 + +  三、安全理事会每一理事国应有代表一人。 + +职权 +第二十四条 +  一、为保证联合国行动迅速有效起见,各会员国将维持国际和平及安全之主要责任,授予安全理事会,并同意安全理事会于履行此项责任下之职务时,即系代表各会员国。 + +  二、安全理事会于履行此项职务时,应遵照联合国之宗旨及原则。为履行此项职务而授予安全理事会之特定权力,于本宪章第六章、第七章、第八章及第十二章内规定之。 + +  三、安全理事会应将常年报告、并于必要时将特别报告,提送大会审查。 + +第二十五条 +  联合国会员国同意依宪章之规定接受并履行安全理事会之决议。 + +第二十六条 +  为促进国际和平及安全之建立及维持,以尽量减少世界人力及经济资源之消耗于军备起见,安全理事会借第四十七条所指之军事参谋团之协助,应负责拟具方案,提交联合国会员国,以建立军备管制制度。 + +投票 +第二十七条 +  一、安全理事会每一理事国应有一个投票权。 + +  二、安全理事会关于程序事项之决议,应以九理事国之可决票表决之。 + +  三、安全理事会对于其他一切事项之决议,应以九理事国之可决票包括全体常任理事国之同意票表决之;但对于第六章及第五十二条第三项内各事项之决议,争端当事国不得投票。 + +程序 +第二十八条 +  一、安全理事会之组织,应以使其能继续不断行使职务为要件。为此目的,安全理事会之各理事国应有常驻本组织会所之代表。 + +  二、安全理事会应举行定期会议,每一理事国认为合宜时得派政府大员或其他特别指定之代表出席。 + +  三、在本组织会所以外,安全理事会得在认为最能便利其工作之其他地点举行会议。 + +第二十九条 +  安全理事会得设立其认为于行使职务所必需之辅助机关。 + +第三十条 +  安全理事会应自行制定其议事规则,包括其推选主席之方法。 + +第三十一条 +  在安全理事会提出之任何问题,经其认为对于非安全理事会理事国之联合国任何会员国之利益有特别关系时,该会员国得参加讨论,但无投票权。 + +第三十二条 +  联合国会员国而非为安全理事会之理事国,或非联合国会员国之国家,如于安全理事会考虑中之争端为当事国者,应被邀参加关于该项争端之讨论,但无投票权。安全理事会应规定其所认为公平之条件,以便非联合国会员国之国家参加。 + +第六章:争端之和平解决 + +第三十三条 +  一、任何争端之当事国,于争端之继续存在足以危及国际和平与安全之维持时,应尽先以谈判、调查、调停、和解、公断、司法解决、区域机关或区域办法之利用,或各该国自行选择之其他和平方法,求得解决。 + +  二、安全理事会认为必要时,应促请各当事国以此项方法,解决其争端。 + +第三十四条 +  安全理事会得调查任何争端或可能引起国际磨擦或惹起争端之任何情势,以断定该项争端或情势之继续存在是否足以危及国际和平与安全之维持。 + +第三十五条 +  一、联合国任何会员国得将属于第三十四条所指之性质之任何争端或情势,提请安全理事会或大会注意。 + +  二、非联合国会员国之国家如为任何争端之当事国时,经预先声明就该争端而言接受本宪章所规定和平解决之义务后,得将该项争端,提请大会或安全理事会注意。 + +  三、大会关于按照本条所提请注意事项之进行步骤,应遵守第十一条及第十二条之规定。 + +第三十六条 +  一、属于第三十三条所指之性质之争端或相似之情势,安全理事会在任何阶段,得建议适当程序或调整方法。 + +  二、安全理事会对于当事国为解决争端业经采取之任何程序,理应予以考虑。 + +  三、安全理事会按照本条作成建议时,同时理应注意凡具有法律性质之争端,在原则上,理应由当事国依国际法院规约之规定提交国际法院。 + +第三十七条 +  一、属于第三十三条所指之性质之争端,当事国如未能依该条所示方法解决时,应将该项争端提交安全理事会。 + +  二、安全理事会如认为该项争端之继续存在,在事实上足以危及国际和平与安全之维持时,应决定是否当依第三十六条采取行动或建议其所认为适当之解决条件。 + +第三十八条 +  安全理事会如经所有争端当事国之请求,得向各当事国作成建议,以求争端之和平解决,但以不妨碍第三十三条至第三十七条之规定为限。 + +第七章:对于和平之威胁、和平之破坏及侵略行为之应付办法 +第三十九条 +  安全理事会应断定任何和平之威胁、和平之破坏或侵略行为之是否存在,并应作成建议或抉择依第四十一条及第四十二条规定之办法,以维持或恢复国际和平及安全。 + +第四十条 +  为防止情势之恶化,安全理事会在依第三十九条规定作成建议或决定办法以前,得促请关系当事国遵行安全理事会所认为必要或合宜之临时办法。此项临时办法并不妨碍关系当事国之权利、要求或立场。安全理事会对于不遵行此项临时办法之情形,应予适当注意。 + +第四十一条 +  安全理事会得决定所应采武力以外之办法,以实施其决议,并得促请联合国会员国执行此项办法。此项办法得包括经济关系、铁路、海运、航空、邮、电、无线电及其他交通工具之局部或全部停止,以及外交关系之断绝。 + +第四十二条 +  安全理事会如认第四十一条所规定之办法为不足或已经证明为不足时,得采取必要之空海陆军行动,以维持或恢复国际和平及安全。此项行动得包括联合国会员国之空海陆军示威、封锁及其他军事举动。 + +第四十三条 +  一、联合国各会员国为求对于维持国际和平及安全有所贡献起见,担任于安全理事会发令时,并依特别协定,供给为维持国际和平及安全所必需之军队、协助及便利,包括过境权。 + +  二、此项特别协定应规定军队之数目及种类,其准备程度及一般驻扎地点,以及所供便利及协助之性质。 + +  三、此项特别协定应以安全理事会之主动,尽速议订。此项协定应由安全理事会与会员国或由安全理事会与若干会员国之集团缔结之,并由签字国各依其宪法程序批准之。 + +第四十四条 +  安全理事会决定使用武力时,于要求非安全理事会会员国依第四十三条供给军队以履行其义务之前,如经该会员国请求,应请其遣派代表,参加安全理事会关于使用其军事部队之决议。 + +第四十五条 +  为使联合国能采取紧急军事办法起见,会员国应将其本国空军部队为国际共同执行行动随时供给调遣。此项部队之实力与准备之程度,及其共同行动之计划,应由安全理事会以军事参谋团之协助,在第四十三条所指之特别协定范围内决定之。 + +第四十六条 +  武力使用之计划应由安全理事会以军事参谋团之协助决定之。 + +第四十七条 +  一、兹设立军事参谋团,以便对于安全理事会维持国际和平及安全之军事需要问题,对于受该会所支配军队之使用及统率问题,对于军备之管制及可能之军缩问题,向该会贡献意见并予以协助。 + +  二、军事参谋团应由安全理事会各常任理事国之参谋总长或其代表组织之。联合国任何会员国在该团未有常任代表者,如于该团责任之履行在效率上必需该国参加其工作时,应由该团邀请参加。 + +  三、军事参谋团在安全理事会权力之下,对于受该会所支配之任何军队,负战略上之指挥责任;关于该项军队之统率问题,应待以后处理。 + +  四、军事参谋团,经安全理事会之授权,并与区域内有关机关商议后、得设立区域分团。 + +第四十八条 +  一、执行安全理事会为维持国际和平及安全之决议所必要之行动,应由联合国全体会员国或由若干会员国担任之,一依安全理事会之决定。 + +  二、此项决议应由联合国会员国以其直接行动及经其加入为会员之有关国际机关之行动履行之。 + +第四十九条 +  联合国会员国应通力合作,彼此协助,以执行安全理事会所决定之办法。 + +第五十条 +  安全理事会对于任何国家采取防止或执行办法时,其他国家,不论其是否为联合国会员国,遇有因此项办法之执行而引起之特殊经济问题者,应有权与安全理事会会商解决此项问题。 + +第五十一条 +  联合国任何会员国受武力攻击时,在安全理事会采取必要办法,以维持国际和平及安全以前,本宪章不得认为禁止行使单独或集体自卫之自然权利。会员国因行使此项自卫权而采取之办法,应立向安全理事会报告,此项办法于任何方面不得影响该会按照本宪章随时采取其所认为必要行动之权责,以维持或恢复国际和平及安全。 + +第八章:区域办法 +第五十二条 +  一、本宪章不得认为排除区域办法或区域机关、用以应付关于维持国际和平及安全而宜于区域行动之事件者;但以此项办法或机关及其工作与联合国之宗旨及原则符合者为限。 + +  二、缔结此项办法或设立此项机关之联合国会员国,将地方争端提交安全理事会以前,应依该项区域办法,或由该项区域机关,力求和平解决。 + +  三、安全理事会对于依区域办法或由区域机关而求地方争端之和平解决,不论其系由关系国主动,或由安全理事会提交者,应鼓励其发展。 + +  四、本条绝不妨碍第三十四条及第三十五条之适用。 + +第五十三条 +  一、安全理事会对于职权内之执行行动,在适当情形下,应利用此项区域办法或区域机关。如无安全理事会之授权,不得依区域办法或由区域机关采取任何执行行动;但关于依第一百零七条之规定对付本条第二项所指之任何敌国之步骤,或在区域办法内所取防备此等国家再施其侵略政策之步骤,截至本组织经各关系政府之请求,对于此等国家之再次侵略,能担负防止责任时为止,不在此限。 + +  二、本条第一项所称敌国系指第二次世界大战中为本宪章任何签字国之敌国而言。 + +第五十四条 +  关于为维持国际和平及安全起见,依区域办法或由区域机关所已采取或正在考虑之行动,不论何时应向安全理事会充分报告之。 + +第九章:国际经济及社会 +第五十五条 +  为造成国际间以尊重人民平等权利及自决原则为根据之和平友好关系所必要之安定及福利条件起见,联合国应促进: + +  (子) 较高之生活程度,全民就业,及经济与社会进展。 + +  (丑) 国际间经济、社会、卫生及有关问题之解决;国际间文化及教育合作。 + +  (寅) 全体人类之人权及基本自由之普遍尊重与遵守,不分种族、性别、语言或宗教。 + +第五十六条 +  各会员国担允采取共同及个别行动与本组织合作,以达成第五十五条所载之宗旨。 + +第五十七条 +  一、由各国政府间协定所成立之各种专门机关,依其组织约章之规定,于经济、社会、文化、教育、卫生及其他有关部门负有广大国际责任者,应依第六十三条之规定使与联合国发生关系。 + +  二、上述与联合国发生关系之各专门机关,以下简称专门机关。 + +第五十八条 +  本组织应作成建议,以调整各专门机关之政策及工作。 + +第五十九条 +  本组织应于适当情形下,发动各关系国间之谈判,以创设为达成第五十五条规定宗旨所必要之新专门机关。 + +第六十条 +  履行本章所载本组织职务之责任,属于大会及大会权力下之经济及社会理事会。为此目的,该理事会应有第十章所载之权力。 + +第十章:经济及社会理事会 +组织 +第六十一条 +  一、经济及社会理事会由大会选举联合国五十四会员国组织之。 + +  二、除第三项所规定外,经济及社会理事会每年选举理事十八国,任期三年。任满之理事国得即行连选。 + +  三、经济及社会理事会理事国自二十七国增至五十四国后第一次选举时,除选举理事九国接替任期在该年年终届满之理事国外,应另增选理事二十七国。增选之理事二十七国中,九国任期一年,另九国任期二年,一依大会所定办法。 + +  四、经济及社会理事会之每一理事国应有代表一人。 + +职权 +第六十二条 +  一、经济及社会理事会得作成或发动关于国际经济、社会、文化、教育、卫生及其他有关事项之研究及报告;并得向大会、联合国会员国及关系专门机关提出关于此种事项之建议案。 + +  二、本理事会为增进全体人类之人权及基本自由之尊重及维护起见,得作成建议案。 + +  三、本理事会得拟具关于其职权范围内事项之协约草案,提交大会。 + +  四、本理事会得依联合国所定之规则召集本理事会职务范围以内事项之国际会议。 + +第六十三条 +  一、经济及社会理事会得与第五十七条所指之任何专门机关订立协定,订明关系专门机关与联合国发生关系之条件。该项协定须经大会之核准。 + +  二、本理事会,为调整各种专门机关之工作,得与此种机关会商并得向其提出建议,并得向大会及联合国会员国建议。 + +第六十四条 +  一、经济及社会理事会得取适当步骤,以取得专门机关之经常报告。本理事会得与联合国会员国及专门机关,商定办法俾就实施本理事会之建议及大会对于本理事会职权范围内事项之建议所采之步骤,取得报告。 + +  二、本理事会得将对于此项报告之意见提送大会。 + +第六十五条 +  经济及社会理事会得向安全理事会供给情报,并因安全理事会之邀请,予以协助。 + +第六十六条 +  一、经济及社会理事会应履行其职权范围内关于执行大会建议之职务。 + +  二、经大会之许可,本理事会得应联合国会员国或专门机关之请求,供其服务。 + +  三、本理事会应履行本宪章他章所特定之其他职务,以及大会所授予之职务。 + +投票 +第六十七条 +  一、经济及社会理事会每一理事国应有一个投票权。 + +  二、本理事会之决议,应以到会及投票之理事国过半数表决之。 + +程序 +第六十八条 +  经济及社会理事会应设立经济与社会部门及以提倡人权为目的之各种委员会,并得设立于行使职务所必需之其他委员会。 + +第六十九条 +  经济及社会理事会应请联合国会员国参加讨论本理事会对于该国有特别关系之任何事件,但无投票权。 + +第七十条 +  经济及社会理事会得商定办法使专门机关之代表无投票权而参加本理事会及本理事会所设各委员会之讨论,或使本理事会之代表参加此项专门机关之讨论。 + +第七十一条 +  经济及社会理事会得采取适当办法,俾与各种非政府组织会商有关于本理事会职权范围内之事件。此项办法得与国际组织商定之,并于适当情形下,经与关系联合国会员国会商后,得与该国国内组织商定之。 + +第七十二条 +  一、经济及社会理事会应自行制定其议事规则,包括其推选主席之方法。 + +  二、经济及社会理事会应依其规则举行必要之会议。此项规则应包括因理事国过半数之请求而召集会议之条款。 + +第十一章:关于非自治领土之宣言 +第七十三条 +  联合国各会员国,于其所负有或承担管理责任之领土,其人民尚未臻自治之充分程度者,承认以领土居民之福利为至上之原则,并接受在本宪章所建立之国际和平及安全制度下,以充分增进领土居民福利之义务为神圣之信托,且为此目的: + +  (子) 于充分尊重关系人民之文化下,保证其政治、经济、社会及教育之进展,予以公平待遇,且保障其不受虐待。 + +  (丑) 按各领土及其人民特殊之环境、及其进化之阶段,发展自治;对各该人民之政治愿望,予以适当之注意;并助其自由政治制度之逐渐发展。 + +  (寅) 促进国际和平及安全。 + +  (卯) 提倡建设计划,以求进步;奖励研究;各国彼此合作,并于适当之时间及场合与专门国际团体合作,以求本条所载社会、经济及科学目的之实现。 + +  (辰) 在不违背安全及宪法之限制下,按时将关于各会员国分别负责管理领土内之经济、社会及教育情形之统计及具有专门性质之情报,递送秘书长,以供参考。本宪章第十二章及第十三章所规定之领土,不在此限。 + +第七十四条 +  联合国各会员国公同承诺对于本章规定之领土,一如对于本国区域,其政策必须以善邻之道奉为圭臬;并于社会、经济及商业上,对世界各国之利益及幸福,予以充分之注意。 + +第十二章:国际托管制度 +第七十五条 +  联合国在其权力下,应设立国际托管制度,以管理并监督凭此后个别协定而置于该制度下之领土。此项领土以下简称托管领土。 + +第七十六条 +  按据本宪章第一条所载联合国之宗旨,托管制度之基本目的应为: + +  (子) 促进国际和平及安全。 + +  (丑) 增进托管领土居民之政治、经济、社会及教育之进展;并以适合各领土及其人民之特殊情形及关系人民自由表示之愿望为原则,且按照各托管协定之条款,增进其趋向自治或独立之逐渐发展。 + +  (寅) 不分种族、性别、语言或宗教,提倡全体人类之人权及基本自由之尊重,并激发世界人民互相维系之意识。 + +  (卯) 于社会、经济及商业事件上,保证联合国全体会员国及其国民之平等待遇,及各该国民于司法裁判上之平等待遇,但以不妨碍上述目的之达成,且不违背第八十条之规定为限。 + +第七十七条 +  一、托管制度适用于依托管协定所置于该制度下之下列各种类之领土: + +    (子) 现在委任统治下之领土。 + +    (丑) 因第二次世界大战结果或将自敌国割离之领土。 + +    (寅) 负管理责任之国家自愿置于该制度下之领土。 + +  二、关于上列种类中之何种领土将置于托管制度之下,及其条件,为此后协定所当规定之事项。 + +第七十八条 +  凡领土已成为联合国之会员国者,不适用托管制度;联合国会员国间之关系,应基于尊重主权平等之原则。 + +第七十九条 +  置于托管制度下之每一领土之托管条款,及其更改或修正,应由直接关系各国、包括联合国之会员国而为委任统治地之受托国者,予以议定,其核准应依第八十三条及第八十五条之规定。 + +第八十条 +  一、除依第七十七条、第七十九条及第八十一条所订置各领土于托管制度下之个别托管协定另有议定外,并在该项协定未经缔结以前,本章任何规定绝对不得解释为以任何方式变更任何国家或人民之权利、或联合国会员国个别签订之现有国际约章之条款。 + +  二、本条第一项不得解释为对于依第七十七条之规定而订置委任统治地或其他领土于托管制度下之协定,授以延展商订之理由。 + +第八十一条 +  凡托管协定均应载有管理领土之条款,并指定管理托管领土之当局。该项当局,以下简称管理当局,得为一个或数个国家,或为联合国本身。 + +第八十二条 +  于任何托管协定内,得指定一个或数个战略防区,包括该项协定下之托管领土之一部或全部,但该项协定并不妨碍依第四十三条而订立之任何特别协定。 + +第八十三条 +  一、联合国关于战略防区之各项职务,包括此项托管协定条款之核准、及其更改或修正,应由安全理事会行使之。 + +  二、第七十六条所规定之基本目的,适用于每一战略防区之人民。 + +  三、安全理事会以不违背托管协定之规定且不妨碍安全之考虑为限,应利用托管理事会之协助,以履行联合国托管制度下关于战略防区内之政治、经济、社会及教育事件之职务。 + +第八十四条 +  管理当局有保证托管领土对于维持国际和平及安全尽其本分之义务。该当局为此目的得利用托管领土之志愿军、便利及协助,以履行该当局对于安全理事会所负关于此点之义务,并以实行地方自卫,且在托管领土内维持法律与秩序。 + +第八十五条 +  一、联合国关于一切非战略防区托管协定之职务,包括此项托管协定条款之核准及其更改或修正,应由大会行使之。 + +  二、托管理事会于大会权力下,应协助大会履行上述之职务。 + +第十三章:托管理事会 +组织 +第八十六条 +  一、托管理事会应由下列联合国会员国组织之: + +    (子) 管理托管领土之会员国。 + +    (丑) 第二十三条所列名之国家而现非管理托管领土者。 + +    (寅) 大会选举必要数额之其他会员国,任期三年,俾使托管理事会理事国之总数,于联合国会员国中之管理托管领土者及不管理者之间,得以平均分配。 + +  二、托管理事会之每一理事国应指定一特别合格之人员,以代表之。 + +职权 +第八十七条 +  大会及在其权力下之托管理事会于履行职务时得: + +  (子) 审查管理当局所送之报告。 + +  (丑) 会同管理当局接受并审查请愿书。 + +  (寅) 与管理当局商定时间,按期视察各托管领土。 + +  (卯) 依托管协定之条款,采取上述其他行动。 + +第八十八条 +  托管理事会应拟定关于各托管领土居民之政治、经济、社会及教育进展之问题单;就大会职权范围内,各托管领土之管理当局应根据该项问题单向大会提出常年报告。 + +投票 +第八十九条 +  一、托管理事会之每一理事国应有一个投票权。 + +  二、托管理事会之决议应以到会及投票之理事国过半数表决之。 + +程序 +第九十条 +  一、托管理事会应自行制定其议事规则,包括其推选主席之方法。 + +  二、托管理事会应依其所定规则,举行必要之会议。此项规则应包括关于经该会理事国过半数之请求而召集会议之规定。 + +第九十一条 +  托管理事会于适当时,应利用经济及社会理事会之协助,并对于各关系事项,利用专门机关之协助。 + +第十四章:国际法院 +第九十二条 +  国际法院为联合国之主要司法机关,应依所附规约执行其职务。该项规约系以国际常设法院之规约为根据并为本宪章之构成部分。 + +第九十三条 +  一、联合国各会员国为国际法院规约之当然当事国 + +  二、非联合国会员国之国家得为国际法院规约当事国之条件,应由大会经安全理事会之建议就各别情形决定之。 + +第九十四条 +  一、联合国每一会员国为任何案件之当事国者,承诺遵行国际法院之判决。 + +  二、遇有一造不履行依法院判决应负之义务时,他造得向于安全理事会申诉。安全理事会如认为必要时,得作成建议或决定应采办法,以执行判决。 + +第九十五条 +  本宪章不得认为禁止联合国会员国依据现有或以后缔结之协定,将其争端托付其他法院解决。 + +第九十六条 +  一、大会或安全理事会对于任何法律问题得请国际法院发表咨询意见。 + +  二、联合国其他机关及各种专门机关,对于其工作范围内之任何法律问题,得随时以大会之授权,请求国际法院发表咨询意见。 + +第十五章:秘书处 +第九十七条 +  秘书处置秘书长一人及本组织所需之办事人员若干人。秘书长应由大会经安全理事会之推荐委派之。秘书长为本组织之行政首长。 + +第九十八条 +  秘书长在大会、安全理事会、经济及社会理事会、及托管理事会之一切会议,应以秘书长资格行使职务,并应执行各该机关所托付之其他职务。秘书长应向大会提送关于本组织工作之常年报告。 + +第九十九条 +  秘书长得将其所认为可能威胁国际和平及安全之任何事件,提请安全理事会注意。 + +第一百条 +  一、秘书长及办事人员于执行职务时,不得请求或接受本组织以外任何政府或其他当局之训示,并应避免足以妨碍其国际官员地位之行动。秘书长及办事人员专对本组织负责。 + +  二、联合国各会员国承诺尊重秘书长及办事人员责任之专属国际性,决不设法影响其责任之履行。 + +第一百零一条 +  一、办事人员由秘书长依大会所定章程委派之。 + +  二、适当之办事人员应长期分配于经济及社会理事会、托管理事会,并于必要时,分配于联合国其他之机关。此项办事人员构成秘书处之一部。 + +  三、办事人员之雇用及其服务条件之决定,应以求达效率、才干及忠诚之最高标准为首要考虑。征聘办事人员时,于可能范围内,应充分注意地域上之普及。 + +第十六章:杂项条款 +第一百零二条 +  一、本宪章发生效力后,联合国任何会员国所缔结之一切条约及国际协定应尽速在秘书处登记,并由秘书处公布之。 + +  二、当事国对于未经依本条第一项规定登记之条约或国际协定,不得向联合国任何机关援引之。 + +第一百零三条 +  联合国会员国在本宪章下之义务与其依任何其他国际协定所负之义务有冲突时,其在本宪章下之义务应居优先。 + +第一百零四条 +  本组织于每一会员国之领土内,应享受于执行其职务及达成其宗旨所必需之法律行为能力。 + +第一百零五条 +  一、本组织于每一会员国之领土内,应享受于达成其宗旨所必需之特权及豁免。 + +  二、联合国会员国之代表及本组织之职员,亦应同样享受于其独立行使关于本组织之职务所必需之特权及豁免。 + +  三、为明定本条第一项及第二项之施行细则起见,大会得作成建议,或为此目的向联合国会员国提议协约。 + +第十七章:过渡安全办法 +第一百零六条 +  在第四十三条所称之特别协定尚未生效,因而安全理事会认为尚不得开始履行第四十二条所规定之责任前,一九四三年十月三十日在莫斯科签订四国宣言之当事国及法兰西应依该宣言第五项之规定,互相洽商,并于必要时,与联合国其他会员国洽商,以代表本组织采取为维持国际和平及安全宗旨所必要之联合行动。 + +第一百零七条 +  本宪章并不取消或禁止负行动责任之政府对于在第二次世界大战中本宪章任何签字国之敌国因该次战争而采取或受权执行之行动。 + +第十八章:修正 +第一百零八条 +  本宪章之修正案经大会会员国三分之二表决并由联合国会员国三分之二、包括安全理事会全体常任理事国,各依其宪法程序批准后,对于联合国所有会员国发生效力。 + +第一百零九条 +  一、联合国会员国,为检讨本宪章,得以大会会员国三分之二表决,经安全理事会任何九理事国之表决,确定日期及地点举行全体会议。联合国每一会员国在全体会议中应有一个投票权。 + +  二、全体会议以三分之二表决所建议对于宪章之任何更改,应经联合国会员国三分之二、包括安全理事会全体常任理事国,各依其宪法程序批准后,发生效力。 + +  三、如于本宪章生效后大会第十届年会前,此项全体会议尚未举行时,应将召集全体会议之提议列入大会该届年会之议事日程;如得大会会员国过半数及安全理事会任何七理事国之表决,此项会议应即举行。 + +第十九章:批准及签字 +第一百一十条 +  一、本宪章应由签字国各依其宪法程序批准之。 + +  二、批准书应交存美利坚合众国政府。该国政府应于每一批准书交存时通知各签字国,如本组织秘书长业经委派时,并应通知秘书长。 + +  三、一俟美利坚合众国政府通知已有中华民国、法兰西、苏维埃社会主义共和国联邦、大不列颠及北爱尔兰联合王国、与美利坚合众国、以及其他签字国之过半数将批准书交存时,本宪章即发生效力。美利坚合众国政府应拟就此项交存批准之议定书并将副本分送所有签字国。 + +  四、本宪章签字国于宪章发生效力后批准者,应自其各将批准书交存之日起为联合国之创始会员国。 + +第一百一十一条 +  本宪章应留存美利坚合众国政府之档库,其中、法、俄、英、及西文各本同一作准。该国政府应将正式副本分送其他签字国政府。 + +  为此联合国各会员国政府之代表谨签字于本宪章,以昭信守。 + +  公历一千九百四十五年六月二十六日签订于金山市。 \ No newline at end of file diff --git a/stdlib/benchmarks/hashlib/bench_hash.mojo b/stdlib/benchmarks/hashlib/bench_hash.mojo index d672da085d..1f4f93c0cc 100644 --- a/stdlib/benchmarks/hashlib/bench_hash.mojo +++ b/stdlib/benchmarks/hashlib/bench_hash.mojo @@ -10,8 +10,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # - # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from benchmark import Bench, BenchConfig, Bencher, BenchId from bit import byte_swap, rotate_bits_left diff --git a/stdlib/benchmarks/lit.cfg.py b/stdlib/benchmarks/lit.cfg.py index 90dd84838f..a06446ab34 100644 --- a/stdlib/benchmarks/lit.cfg.py +++ b/stdlib/benchmarks/lit.cfg.py @@ -39,38 +39,40 @@ config.modular_obj_root, "open-source", "mojo", "stdlib", "benchmarks" ) else: + # test_source_root: The root path where tests are located. + config.test_source_root = Path(__file__).parent.resolve() + + repo_root = Path(__file__).parent.parent.parent + # This is important since `benchmark` is closed source # still right now and is always used by the benchmarks. - pre_built_packages_path = os.environ.get( - "MODULAR_MOJO_NIGHTLY_IMPORT_PATH", - Path(os.environ["MODULAR_HOME"]) - / "pkg" - / "packages.modular.com_nightly_mojo" - / "lib" - / "mojo", + pre_built_packages_path = Path( + os.environ.get( + "MODULAR_MOJO_NIGHTLY_IMPORT_PATH", + os.environ.get( + "MODULAR_MOJO_IMPORT_PATH", + repo_root / ".magic" / "envs" / "default" / "lib" / "mojo", + ), + ) ) - # test_source_root: The root path where tests are located. - config.test_source_root = Path(__file__).parent.resolve() - # The `run-tests.sh` script creates the build directory for you. - build_root = Path(__file__).parent.parent.parent / "build" + build_root = repo_root / "build" # The tests are executed inside this build directory to avoid # polluting the source tree. - config.test_exec_root = build_root / "stdlib" / "benchmarks" + config.test_exec_root = (build_root / "stdlib" / "benchmarks").resolve() # Add both the open source, locally built `stdlib.mojopkg` # along with the closed source, pre-built packages shipped # with the Mojo SDK to the appropriate environment variables. # These environment variables are interpreted by the mojo parser # when resolving imports. - os.environ[ - "MODULAR_MOJO_NIGHTLY_IMPORT_PATH" - ] = f"{build_root},{pre_built_packages_path}" - os.environ[ - "MODULAR_MOJO_MAX_NIGHTLY_IMPORT_PATH" - ] = f"{build_root},{pre_built_packages_path}" + joint_path = f"{build_root.resolve()},{pre_built_packages_path.resolve()}" + os.environ["MODULAR_MOJO_NIGHTLY_IMPORT_PATH"] = joint_path + os.environ["MODULAR_MOJO_MAX_NIGHTLY_IMPORT_PATH"] = joint_path + os.environ["MODULAR_MOJO_IMPORT_PATH"] = joint_path + os.environ["MODULAR_MOJO_MAX_IMPORT_PATH"] = joint_path # Pass through several environment variables # to the underlying subprocesses that run the tests. diff --git a/stdlib/benchmarks/math/bench_math.mojo b/stdlib/benchmarks/math/bench_math.mojo index 9a62d9aba2..1ba4175a74 100644 --- a/stdlib/benchmarks/math/bench_math.mojo +++ b/stdlib/benchmarks/math/bench_math.mojo @@ -11,6 +11,8 @@ # limitations under the License. # ===----------------------------------------------------------------------=== # # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from math import * from random import * @@ -37,7 +39,20 @@ fn make_inputs( return result +fn make_int_inputs(begin: Int, end: Int, num: Int) -> List[Int]: + if num == 1: + return List[Int](begin) + + var step = (end - begin) // (num - 1) + + var result: List[Int] = List[Int]() + for i in range(num): + result.append(begin + step * i) + return result + + var inputs = make_inputs(0, 10_000, 1_000_000) +var int_inputs = make_int_inputs(0, 10_000_000, 1_000_000) # ===----------------------------------------------------------------------===# # Benchmark math_func @@ -77,6 +92,21 @@ fn bench_math3[ b.iter[call_fn]() +# ===----------------------------------------------------------------------===# +# Benchmark lcm/gcd +# ===----------------------------------------------------------------------===# +@parameter +fn bench_math2[math_f2p: fn (Int, Int, /) -> Int](inout b: Bencher) raises: + @always_inline + @parameter + fn call_fn() raises: + for i in range(len(int_inputs) // 2): + var result = keep(math_f2p(int_inputs[i], int_inputs[-(i + 1)])) + keep(result) + + b.iter[call_fn]() + + # ===----------------------------------------------------------------------===# # Benchmark Main # ===----------------------------------------------------------------------===# @@ -96,4 +126,6 @@ def main(): m.bench_function[bench_math[exp]](BenchId("bench_math_exp")) m.bench_function[bench_math[erf]](BenchId("bench_math_erf")) m.bench_function[bench_math3[fma]](BenchId("bench_math_fma")) + m.bench_function[bench_math2[lcm]](BenchId("bench_math_lcm")) + m.bench_function[bench_math2[gcd]](BenchId("bench_math_gcd")) m.dump_report() diff --git a/stdlib/benchmarks/utils/bench_formatter.mojo b/stdlib/benchmarks/utils/bench_formatter.mojo index 6797c268b7..83c4c44e82 100644 --- a/stdlib/benchmarks/utils/bench_formatter.mojo +++ b/stdlib/benchmarks/utils/bench_formatter.mojo @@ -10,8 +10,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # - # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from sys import simdwidthof from benchmark import Bench, BenchConfig, Bencher, BenchId, Unit, keep, run diff --git a/stdlib/benchmarks/utils/bench_memmem.mojo b/stdlib/benchmarks/utils/bench_memmem.mojo index 6d4dea9576..6fd0b16a89 100644 --- a/stdlib/benchmarks/utils/bench_memmem.mojo +++ b/stdlib/benchmarks/utils/bench_memmem.mojo @@ -10,14 +10,15 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # - # RUN: %mojo-no-debug %s -t +# NOTE: to test changes on the current branch using run-benchmarks.sh, remove +# the -t flag. Remember to replace it again before pushing any code. from sys import simdwidthof from benchmark import Bench, BenchConfig, Bencher, BenchId, Unit, keep, run from bit import count_trailing_zeros from builtin.dtype import _uint_type_of_width -from memory import memcmp, bitcast, UnsafePointer +from memory import memcmp, bitcast, UnsafePointer, pack_bits from utils.stringref import _align_down, _memchr, _memmem @@ -167,7 +168,7 @@ fn _memmem_baseline[ ) for i in range(0, vectorized_end, bool_mask_width): var bool_mask = haystack.load[width=bool_mask_width](i) == first_needle - var mask = bitcast[_uint_type_of_width[bool_mask_width]()](bool_mask) + var mask = pack_bits(bool_mask) while mask: var offset = int(i + count_trailing_zeros(mask)) if memcmp(haystack + offset + 1, needle + 1, needle_len - 1) == 0: diff --git a/stdlib/docs/development.md b/stdlib/docs/development.md index e813810f67..024dc87b6c 100644 --- a/stdlib/docs/development.md +++ b/stdlib/docs/development.md @@ -376,6 +376,5 @@ did have a worthwhile change you wanted to raise, follow the steps to Congratulations! You've now got an idea on how to contribute to the standard library, test your changes, and raise a PR. -If you're still having troubles make sure to reach out on -[GitHub](https://github.com/modularml/mojo/discussions/new?category=general) or -[Discord](https://modul.ar/discord)! +If you're still having issues, reach out on +[Discord](https://modul.ar/discord). diff --git a/stdlib/scripts/build-stdlib.sh b/stdlib/scripts/build-stdlib.sh index f154ecaae3..db9c00b5a5 100755 --- a/stdlib/scripts/build-stdlib.sh +++ b/stdlib/scripts/build-stdlib.sh @@ -19,19 +19,6 @@ REPO_ROOT=$(realpath "${SCRIPT_DIR}/../..") BUILD_DIR="${REPO_ROOT}"/build mkdir -p "${BUILD_DIR}" -ACTUAL_COMPILER_VERSION=$(mojo --version | tr " " "\n" | sed -n 2p) -EXPECTED_COMPILER_VERSION=$(<"${REPO_ROOT}"/stdlib/COMPATIBLE_COMPILER_VERSION) - -if [ -z "${MOJO_OVERRIDE_COMPILER_VERSION_CHECK:-}" ]; then - if [ "${EXPECTED_COMPILER_VERSION}" != "${ACTUAL_COMPILER_VERSION}" ]; then - echo "Mismatch in compiler versions! Cannot build the standard library." - echo "Expected compiler version: ${EXPECTED_COMPILER_VERSION}" - echo "Current installed compiler version: ${ACTUAL_COMPILER_VERSION}" - echo "Please run \`magic update && magic install\` to get the latest compiler." - exit 1 - fi -fi - STDLIB_PATH="${REPO_ROOT}/stdlib/src" echo "Packaging up the Standard Library." diff --git a/stdlib/scripts/run-benchmarks.sh b/stdlib/scripts/run-benchmarks.sh index b6525af2d6..cdf265ce21 100755 --- a/stdlib/scripts/run-benchmarks.sh +++ b/stdlib/scripts/run-benchmarks.sh @@ -31,5 +31,5 @@ if [[ $# -gt 0 ]]; then BENCHMARK_PATH=$1 fi -# Run the benchmarks -lit -sv "${BENCHMARK_PATH}" +# Run the benchmarks sequentially +lit --succinct --show-all --workers 1 ${BENCHMARK_PATH} \ No newline at end of file diff --git a/stdlib/src/base64/_b64encode.mojo b/stdlib/src/base64/_b64encode.mojo new file mode 100644 index 0000000000..d867a91be5 --- /dev/null +++ b/stdlib/src/base64/_b64encode.mojo @@ -0,0 +1,293 @@ +# ===----------------------------------------------------------------------=== # +# Copyright (c) 2024, Modular Inc. All rights reserved. +# +# Licensed under the Apache License v2.0 with LLVM Exceptions: +# https://llvm.org/LICENSE.txt +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ===----------------------------------------------------------------------=== # + +""" +We make use of the following papers for the implementation, note that there +are some small differences. + +Wojciech Muła, Daniel Lemire, Base64 encoding and decoding at almost the +speed of a memory copy, Software: Practice and Experience 50 (2), 2020. +https://arxiv.org/abs/1910.05109 + +Wojciech Muła, Daniel Lemire, Faster Base64 Encoding and Decoding using AVX2 +Instructions, ACM Transactions on the Web 12 (3), 2018. +https://arxiv.org/abs/1704.00605 +""" + +from builtin.simd import _sub_with_saturation +from collections import InlineArray +from math.math import _compile_time_iota +from memory import memcpy, bitcast, UnsafePointer +from utils import IndexList + +alias Bytes = SIMD[DType.uint8, _] + + +fn _base64_simd_mask[ + simd_width: Int +](nb_value_to_load: Int) -> SIMD[DType.bool, simd_width]: + alias mask = _compile_time_iota[DType.uint8, simd_width]() + return mask < UInt8(nb_value_to_load) + + +# | |---- byte 2 ----|---- byte 1 ----|---- byte 0 ----| +# | |c₁c₀d₅d₄d₃d₂d₁d₀|b₃b₂b₁b₀c₅c₄c₃c₂|a₅a₄a₃a₂a₁a₀b₅b₄| +# <----------------|----------------|----------------|----------------| +# |31 . . . . . .24|23 . . . . . .16|15 . . . . . .08| 7 6 5 4 3 2 1 0| +# | | +# |---- byte 1 ----|---- byte 2 ----|---- byte 0 ----|---- byte 1 ----| +# |b₃b₂b₁b₀c₅c₄c₃c₂|c₁c₀d₅d₄d₃d₂d₁d₀|a₅a₄a₃a₂a₁a₀b₅b₄|b₃b₂b₁b₀c₅c₄c₃c₂| +# | -------------____________ ------------_____________ | +# | [ C ][ D ] [ A ][ B ] | +# | | +# |--- ascii(d) ---|--- ascii(c) ---|--- ascii(b) ---|--- ascii(a) ---| +# |. . d₅d₄d₃d₂d₁d₀|. . c₅c₄c₃c₂c₁c₀|. . b₅b₄b₃b₂b₁b₀|. . a₅a₄a₃a₂a₁a₀| +fn _6bit_to_byte[width: Int](input: Bytes[width]) -> Bytes[width]: + constrained[width in [4, 8, 16, 32, 64], "width must be between 4 and 64"]() + + fn indices() -> IndexList[width]: + alias perm = List(1, 0, 2, 1) + var res = IndexList[width]() + for i in range(width // 4): + for j in range(4): + res[4 * i + j] = 3 * i + perm[j] + return res + + @always_inline + fn combine[ + mask: Bytes[4], shift: Int + ](shuffled: Bytes[width]) -> Bytes[width]: + var `6bit` = shuffled & _repeat_until[width](mask) + return _rshift_bits_in_u16[shift](`6bit`) + + var shuffled = input.shuffle[mask = indices()]() + var a = combine[ + Bytes[4](0b0000_0000, 0b1111_1100, 0b0000_0000, 0b0000_0000), 10 + ](shuffled) + var b = combine[ + Bytes[4](0b1111_0000, 0b0000_0011, 0b0000_0000, 0b0000_0000), -4 + ](shuffled) + var c = combine[ + Bytes[4](0b0000_0000, 0b0000_0000, 0b1100_0000, 0b0000_1111), 6 + ](shuffled) + var d = combine[ + Bytes[4](0b0000_0000, 0b0000_0000, 0b0011_1111, 0b0000_0000), 8 + ](shuffled) + return a | b | c | d + + +# | 6-bit Value | ASCII Range | Target index | Offset (6-bit to ASCII) | +# |-------------|-------------|--------------|-------------------------| +# | 0 ... 25 | A ... Z | 13 | 65 | +# | 26 ... 51 | a ... z | 0 | 71 | +# | 52 ... 61 | 0 ... 9 | 1 ... 10 | -4 | +# | 62 | + | 11 | -19 | +# | 63 | / | 12 | -16 | +# fmt: off +alias UNUSED = 0 +alias OFFSETS = Bytes[16]( + 71, # a ... z + -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, # 0 ... 9 + -19, # + + -16, # / + 65, # A ... Z + UNUSED, UNUSED +) +alias END_FIRST_RANGE = 25 +alias END_SECOND_RANGE = 51 +# fmt: on + + +fn _to_b64_ascii[width: Int, //](input: Bytes[width]) -> Bytes[width]: + var abcd = _6bit_to_byte(input) + var target_indices = _sub_with_saturation(abcd, END_SECOND_RANGE) + var offset_indices = (abcd <= END_FIRST_RANGE).select(13, target_indices) + return abcd + OFFSETS._dynamic_shuffle(offset_indices) + + +fn _get_table_number_of_bytes_to_store_from_number_of_bytes_to_load[ + simd_width: Int +]() -> SIMD[DType.uint8, simd_width]: + """This is a lookup table to know how many bytes we need to store in the output buffer + for a given number of bytes to encode in base64. Including the '=' sign. + + This table lookup is smaller than the simd size, because we only use it for the last chunk. + This should be called at compile time, otherwise it's quite slow. + """ + var result = SIMD[DType.uint8, simd_width](0) + for i in range(1, simd_width): + # We have "i" bytes to encode in base64, how many bytes do + # we need to store in the output buffer? Including the '=' sign. + + # math.ceil cannot be called at compile time, this is a workaround + var group_of_3_bytes = i // 3 + if i % 3 != 0: + group_of_3_bytes += 1 + + result[i] = group_of_3_bytes * 4 + return result + + +fn _get_number_of_bytes_to_store_from_number_of_bytes_to_load[ + max_size: Int +](nb_of_elements_to_load: Int) -> Int: + alias table = _get_table_number_of_bytes_to_store_from_number_of_bytes_to_load[ + max_size + ]() + return int(table[nb_of_elements_to_load]) + + +fn _get_table_number_of_bytes_to_store_from_number_of_bytes_to_load_without_equal_sign[ + simd_width: Int +]() -> SIMD[DType.uint8, simd_width]: + """This is a lookup table to know how many bytes we need to store in the output buffer + for a given number of bytes to encode in base64. This is **not** including the '=' sign. + + This table lookup is smaller than the simd size, because we only use it for the last chunk. + This should be called at compile time, otherwise it's quite slow. + """ + var result = SIMD[DType.uint8, simd_width]() + for i in range(simd_width): + # We have "i" bytes to encode in base64, how many bytes do + # we need to store in the output buffer? NOT including the '=' sign. + # We count the number of groups of 6 bits and we add 1 byte if there is an incomplete group. + var number_of_bits = i * 8 + var complete_groups_of_6_bits = number_of_bits // 6 + var incomplete_groups_of_6_bits: Int + if i * 8 % 6 == 0: + incomplete_groups_of_6_bits = 0 + else: + incomplete_groups_of_6_bits = 1 + + result[i] = complete_groups_of_6_bits + incomplete_groups_of_6_bits + return result + + +fn _get_number_of_bytes_to_store_from_number_of_bytes_to_load_without_equal_sign[ + max_size: Int +](nb_of_elements_to_load: Int) -> Int: + alias table = _get_table_number_of_bytes_to_store_from_number_of_bytes_to_load_without_equal_sign[ + max_size + ]() + return int(table[nb_of_elements_to_load]) + + +fn load_incomplete_simd[ + simd_width: Int +](pointer: UnsafePointer[UInt8], nb_of_elements_to_load: Int) -> SIMD[ + DType.uint8, simd_width +]: + var result = SIMD[DType.uint8, simd_width](0) + var tmp_buffer_pointer = UnsafePointer.address_of(result).bitcast[UInt8]() + memcpy(dest=tmp_buffer_pointer, src=pointer, count=nb_of_elements_to_load) + return result + + +fn store_incomplete_simd[ + simd_width: Int +]( + pointer: UnsafePointer[UInt8], + owned simd_vector: SIMD[DType.uint8, simd_width], + nb_of_elements_to_store: Int, +): + var tmp_buffer_pointer = UnsafePointer.address_of(simd_vector).bitcast[ + UInt8 + ]() + + memcpy(dest=pointer, src=tmp_buffer_pointer, count=nb_of_elements_to_store) + _ = simd_vector # We make it live long enough + + +# TODO: Use Span instead of List as input when Span is easier to use +@no_inline +fn b64encode_with_buffers( + input_bytes: List[UInt8, _], inout result: List[UInt8, _] +): + alias simd_width = sys.simdbytewidth() + alias input_simd_width = simd_width * 3 // 4 + alias equal_vector = SIMD[DType.uint8, simd_width](ord("=")) + + var input_bytes_len = len(input_bytes) + + var input_index = 0 + + # Main loop + while input_index + simd_width <= input_bytes_len: + var start_of_input_chunk = input_bytes.unsafe_ptr() + input_index + + var input_vector = start_of_input_chunk.load[width=simd_width]() + + result_vector = _to_b64_ascii(input_vector) + + (result.unsafe_ptr() + len(result)).store(result_vector) + + result.size += simd_width + input_index += input_simd_width + + # We handle the last 0, 1 or 2 chunks + while input_index < input_bytes_len: + var start_of_input_chunk = input_bytes.unsafe_ptr() + input_index + var nb_of_elements_to_load = min( + input_simd_width, input_bytes_len - input_index + ) + + # We don't want to read past the input buffer + var input_vector = load_incomplete_simd[simd_width]( + start_of_input_chunk, + nb_of_elements_to_load=nb_of_elements_to_load, + ) + + result_vector = _to_b64_ascii(input_vector) + + # We place the '=' where needed + var non_equal_chars_number = _get_number_of_bytes_to_store_from_number_of_bytes_to_load_without_equal_sign[ + simd_width + ]( + nb_of_elements_to_load + ) + var equal_mask = _base64_simd_mask[simd_width](non_equal_chars_number) + + var result_vector_with_equals = equal_mask.select( + result_vector, equal_vector + ) + + var nb_of_elements_to_store = _get_number_of_bytes_to_store_from_number_of_bytes_to_load[ + simd_width + ]( + nb_of_elements_to_load + ) + store_incomplete_simd( + result.unsafe_ptr() + len(result), + result_vector_with_equals, + nb_of_elements_to_store, + ) + result.size += nb_of_elements_to_store + input_index += input_simd_width + + +# Utility functions + + +fn _repeat_until[width: Int](v: SIMD) -> SIMD[v.type, width]: + constrained[width >= v.size, "width must be at least v.size"]() + + @parameter + if width == v.size: + return rebind[SIMD[v.type, width]](v) + return _repeat_until[width](v.join(v)) + + +fn _rshift_bits_in_u16[shift: Int](input: Bytes) -> __type_of(input): + var u16 = bitcast[DType.uint16, input.size // 2](input) + var res = bit.rotate_bits_right[shift](u16) + return bitcast[DType.uint8, input.size](res) diff --git a/stdlib/src/base64/base64.mojo b/stdlib/src/base64/base64.mojo index 62e021d38f..0bf4f2a3b9 100644 --- a/stdlib/src/base64/base64.mojo +++ b/stdlib/src/base64/base64.mojo @@ -21,6 +21,8 @@ from base64 import b64encode from collections import List from sys import simdwidthof +import bit +from ._b64encode import b64encode_with_buffers as _b64encode_with_buffers # ===----------------------------------------------------------------------===# # Utilities @@ -60,50 +62,46 @@ fn _ascii_to_value(char: String) -> Int: # ===----------------------------------------------------------------------===# -fn b64encode(str: String) -> String: +# TODO: Use Span instead of List as input when Span is easier to use +fn b64encode(input_bytes: List[UInt8, _], inout result: List[UInt8, _]): """Performs base64 encoding on the input string. Args: - str: The input string. + input_bytes: The input string buffer. Assumed to be null-terminated. + result: The buffer in which to store the values. + """ + _b64encode_with_buffers(input_bytes, result) + + +# For a nicer API, we provide those overloads: +fn b64encode(input_string: String) -> String: + """Performs base64 encoding on the input string. + + Args: + input_string: The input string buffer. Assumed to be null-terminated. Returns: - Base64 encoding of the input string. + The ASCII base64 encoded string. """ - alias lookup = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" - var b64chars = lookup.unsafe_ptr() + # Slicing triggers a copy, but it should work with Span later on. + return b64encode(input_string._buffer[:-1]) - var length = str.byte_length() - var out = String._buffer_type(capacity=length + 1) - @parameter - @always_inline - fn s(idx: Int) -> Int: - return int(str.unsafe_ptr()[idx]) +fn b64encode(input_bytes: List[UInt8, _]) -> String: + """Performs base64 encoding on the input string. - # This algorithm is based on https://arxiv.org/abs/1704.00605 - var end = length - (length % 3) - for i in range(0, end, 3): - var si = s(i) - var si_1 = s(i + 1) - var si_2 = s(i + 2) - out.append(b64chars[si // 4]) - out.append(b64chars[((si * 16) % 64) + si_1 // 16]) - out.append(b64chars[((si_1 * 4) % 64) + si_2 // 64]) - out.append(b64chars[si_2 % 64]) - - if end < length: - var si = s(end) - out.append(b64chars[si // 4]) - if end == length - 1: - out.append(b64chars[(si * 16) % 64]) - out.append(ord("=")) - elif end == length - 2: - var si_1 = s(end + 1) - out.append(b64chars[((si * 16) % 64) + si_1 // 16]) - out.append(b64chars[(si_1 * 4) % 64]) - out.append(ord("=")) - out.append(0) - return String(out^) + Args: + input_bytes: The input string buffer. Assumed to be null-terminated. + + Returns: + The ASCII base64 encoded string. + """ + # +1 for the null terminator and +1 to be sure + var result = List[UInt8, True](capacity=int(len(input_bytes) * (4 / 3)) + 2) + b64encode(input_bytes, result) + # null-terminate the result + result.append(0) + return String(result^) # ===----------------------------------------------------------------------===# diff --git a/stdlib/src/builtin/_math.mojo b/stdlib/src/builtin/_math.mojo deleted file mode 100644 index 22a309e7ed..0000000000 --- a/stdlib/src/builtin/_math.mojo +++ /dev/null @@ -1,214 +0,0 @@ -# ===----------------------------------------------------------------------=== # -# Copyright (c) 2024, Modular Inc. All rights reserved. -# -# Licensed under the Apache License v2.0 with LLVM Exceptions: -# https://llvm.org/LICENSE.txt -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ===----------------------------------------------------------------------=== # -"""Module to contain some components of the future math module. - -This is needed to work around some circular dependencies; all elements of this -module should be exposed by the current `math` module. The contents of this -module should be eventually moved to the `math` module when it's open sourced. -""" - -from bit import count_trailing_zeros - -# ===----------------------------------------------------------------------=== # -# Ceilable -# ===----------------------------------------------------------------------=== # - - -trait Ceilable: - """ - The `Ceilable` trait describes a type that defines a ceiling operation. - - Types that conform to `Ceilable` will work with the builtin `ceil` - function. The ceiling operation always returns the same type as the input. - - For example: - ```mojo - from math import Ceilable, ceil - - @value - struct Complex(Ceilable): - var re: Float64 - var im: Float64 - - fn __ceil__(self) -> Self: - return Self(ceil(self.re), ceil(self.im)) - ``` - """ - - # TODO(MOCO-333): Reconsider the signature when we have parametric traits or - # associated types. - fn __ceil__(self) -> Self: - """Return the ceiling of the Int value, which is itself. - - Returns: - The Int value itself. - """ - ... - - -# ===----------------------------------------------------------------------=== # -# Floorable -# ===----------------------------------------------------------------------=== # - - -trait Floorable: - """ - The `Floorable` trait describes a type that defines a floor operation. - - Types that conform to `Floorable` will work with the builtin `floor` - function. The floor operation always returns the same type as the input. - - For example: - ```mojo - from math import Floorable, floor - - @value - struct Complex(Floorable): - var re: Float64 - var im: Float64 - - fn __floor__(self) -> Self: - return Self(floor(self.re), floor(self.im)) - ``` - """ - - # TODO(MOCO-333): Reconsider the signature when we have parametric traits or - # associated types. - fn __floor__(self) -> Self: - """Return the floor of the Int value, which is itself. - - Returns: - The Int value itself. - """ - ... - - -# ===----------------------------------------------------------------------=== # -# CeilDivable -# ===----------------------------------------------------------------------=== # - - -trait CeilDivable: - """ - The `CeilDivable` trait describes a type that defines a ceil division - operation. - - Types that conform to `CeilDivable` will work with the `math.ceildiv` - function. - - For example: - ```mojo - from math import CeilDivable - - @value - struct Foo(CeilDivable): - var x: Float64 - - fn __floordiv__(self, other: Self) -> Self: - return self.x // other.x - - fn __rfloordiv__(self, other: Self) -> Self: - return other // self - - fn __neg__(self) -> Self: - return -self.x - ``` - """ - - # TODO(MOCO-333): Reconsider these signatures when we have parametric traits - # or associated types. - fn __floordiv__(self, other: Self) -> Self: - ... - - fn __rfloordiv__(self, other: Self) -> Self: - ... - - fn __neg__(self) -> Self: - ... - - -trait CeilDivableRaising: - """ - The `CeilDivable` trait describes a type that define a floor division and - negation operation that can raise. - - Types that conform to `CeilDivableRaising` will work with the `//` operator - as well as the `math.ceildiv` function. - - For example: - ```mojo - from math import CeilDivableRaising - - @value - struct Foo(CeilDivableRaising): - var x: object - - fn __floordiv__(self, other: Self) raises -> Self: - return self.x // other.x - - fn __rfloordiv__(self, other: Self) raises -> Self: - return other // self - - fn __neg__(self) raises -> Self: - return -self.x - ``` - """ - - # TODO(MOCO-333): Reconsider these signatures when we have parametric traits - # or associated types. - fn __floordiv__(self, other: Self) raises -> Self: - ... - - fn __rfloordiv__(self, other: Self) raises -> Self: - ... - - fn __neg__(self) raises -> Self: - ... - - -# ===----------------------------------------------------------------------=== # -# Truncable -# ===----------------------------------------------------------------------=== # - - -trait Truncable: - """ - The `Truncable` trait describes a type that defines a truncation operation. - - Types that conform to `Truncable` will work with the builtin `trunc` - function. The truncation operation always returns the same type as the - input. - - For example: - ```mojo - from math import Truncable, trunc - - @value - struct Complex(Truncable): - var re: Float64 - var im: Float64 - - fn __trunc__(self) -> Self: - return Self(trunc(re), trunc(im)) - ``` - """ - - # TODO(MOCO-333): Reconsider the signature when we have parametric traits or - # associated types. - fn __trunc__(self) -> Self: - """Return the truncated Int value, which is itself. - - Returns: - The Int value itself. - """ - ... diff --git a/stdlib/src/builtin/_pybind.mojo b/stdlib/src/builtin/_pybind.mojo index 371a0c31c1..a3eb77c4cd 100644 --- a/stdlib/src/builtin/_pybind.mojo +++ b/stdlib/src/builtin/_pybind.mojo @@ -28,8 +28,10 @@ from python._cpython import ( ) from python._bindings import ( Pythonable, + ConvertibleFromPython, + PythonableAndConvertibleFromPython, PyMojoObject, - create_wrapper_function, + py_c_function_wrapper, check_argument_type, # Imported for use by the compiler check_arguments_arity, @@ -104,7 +106,7 @@ fn add_wrapper_to_module[ module, List[PyMethodDef]( PyMethodDef.function[ - create_wrapper_function[wrapper_func](), func_name + py_c_function_wrapper[wrapper_func], func_name ]() ), ) @@ -119,3 +121,53 @@ fn check_and_get_arg[ index: Int, ) raises -> UnsafePointer[T]: return check_argument_type[T](func_name, type_name_id, py_args[index]) + + +fn check_and_get_or_convert_arg[ + T: PythonableAndConvertibleFromPython +]( + func_name: StringLiteral, + type_name_id: StringLiteral, + py_args: TypedPythonObject["Tuple"], + index: Int, + converted_arg_ptr: UnsafePointer[T], +) raises -> UnsafePointer[T]: + try: + return check_and_get_arg[T](func_name, type_name_id, py_args, index) + except e: + converted_arg_ptr.init_pointee_move( + _try_convert_arg[T]( + func_name, + type_name_id, + py_args, + index, + ) + ) + return converted_arg_ptr + + +fn _try_convert_arg[ + T: ConvertibleFromPython +]( + func_name: StringLiteral, + type_name_id: StringLiteral, + py_args: TypedPythonObject["Tuple"], + argidx: Int, +) raises -> T as result: + try: + result = T.try_from_python(py_args[argidx]) + except convert_err: + raise Error( + String.format( + ( + "TypeError: {}() expected argument at position {} to be" + " instance of (or convertible to) Mojo '{}'; got '{}'." + " (Note: attempted conversion failed due to: {})" + ), + func_name, + argidx, + type_name_id, + py_args[argidx]._get_type_name(), + convert_err, + ) + ) diff --git a/stdlib/src/builtin/bool.mojo b/stdlib/src/builtin/bool.mojo index 174aa10b7d..aebc43a7a8 100644 --- a/stdlib/src/builtin/bool.mojo +++ b/stdlib/src/builtin/bool.mojo @@ -15,7 +15,6 @@ These are Mojo built-ins, so you don't need to import them. """ -from builtin._documentation import doc_private from collections import Set, List from utils._visualizers import lldb_formatter_wrapping_type diff --git a/stdlib/src/builtin/builtin_list.mojo b/stdlib/src/builtin/builtin_list.mojo index afec4004b6..9ea758583d 100644 --- a/stdlib/src/builtin/builtin_list.mojo +++ b/stdlib/src/builtin/builtin_list.mojo @@ -15,7 +15,6 @@ These are Mojo built-ins, so you don't need to import them. """ -from builtin._documentation import doc_private from memory import Pointer, UnsafePointer @@ -141,7 +140,7 @@ struct _VariadicListIter[type: AnyTrivialRegType]: return self.src[self.index - 1] @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: @@ -252,7 +251,7 @@ struct _VariadicListMemIter[ ) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: @@ -466,89 +465,17 @@ struct VariadicListMem[ # ===----------------------------------------------------------------------===# -# _LITRefPackHelper +# VariadicPack # ===----------------------------------------------------------------------===# alias _AnyTypeMetaType = __mlir_type[`!lit.anytrait<`, AnyType, `>`] -@value -struct _LITRefPackHelper[ - is_mutable: Bool, //, - origin: Origin[is_mutable].type, - address_space: __mlir_type.index, - element_trait: _AnyTypeMetaType, - *element_types: element_trait, -]: - """This struct mirrors the !lit.ref.pack type, and provides aliases and - methods that are useful for working with it.""" - - alias _mlir_type = __mlir_type[ - `!lit.ref.pack<:variadic<`, - element_trait, - `> `, - element_types, - `, `, - origin, - `, `, - address_space, - `>`, - ] - - var storage: Self._mlir_type - - # This is the element_types list lowered to `variadic` type for kgen. - alias _kgen_element_types = rebind[ - __mlir_type.`!kgen.variadic` - ](Self.element_types) - - # Use variadic_ptr_map to construct the type list of the !kgen.pack that the - # !lit.ref.pack will lower to. It exposes the pointers introduced by the - # references. - alias _variadic_pointer_types = __mlir_attr[ - `#kgen.param.expr: !kgen.variadic`, - ] - - # This is the !kgen.pack type with pointer elements. - alias kgen_pack_with_pointer_type = __mlir_type[ - `!kgen.pack<:variadic `, Self._variadic_pointer_types, `>` - ] - - # This rebinds `in_pack` to the equivalent `!kgen.pack` with kgen pointers. - @always_inline("nodebug") - fn get_as_kgen_pack(self) -> Self.kgen_pack_with_pointer_type: - return rebind[Self.kgen_pack_with_pointer_type](self.storage) - - alias _variadic_with_pointers_removed = __mlir_attr[ - `#kgen.param.expr: !kgen.variadic`, - ] - - # This is the `!kgen.pack` type that happens if one loads all the elements - # of the pack. - alias loaded_kgen_pack_type = __mlir_type[ - `!kgen.pack<:variadic `, Self._variadic_with_pointers_removed, `>` - ] - - # This returns the stored KGEN pack after loading all of the elements. - @always_inline("nodebug") - fn get_loaded_kgen_pack(self) -> Self.loaded_kgen_pack_type: - return __mlir_op.`kgen.pack.load`(self.get_as_kgen_pack()) - - -# ===----------------------------------------------------------------------===# -# VariadicPack -# ===----------------------------------------------------------------------===# - - @register_passable struct VariadicPack[ - elt_is_mutable: __mlir_type.i1, //, - origin: Origin[Bool {value: elt_is_mutable}].type, + elt_is_mutable: Bool, //, + origin: Origin[elt_is_mutable].type, element_trait: _AnyTypeMetaType, *element_types: element_trait, ](Sized): @@ -696,3 +623,50 @@ struct VariadicPack[ @parameter for i in range(Self.__len__()): func[i](self[i]) + + # ===-------------------------------------------------------------------===# + # C Pack Utilities + # ===-------------------------------------------------------------------===# + + # This is the element_types list lowered to `variadic` type for kgen. + alias _kgen_element_types = rebind[ + __mlir_type.`!kgen.variadic` + ](Self.element_types) + + # Use variadic_ptr_map to construct the type list of the !kgen.pack that the + # !lit.ref.pack will lower to. It exposes the pointers introduced by the + # references. + alias _variadic_pointer_types = __mlir_attr[ + `#kgen.param.expr: !kgen.variadic`, + ] + + # This is the !kgen.pack type with pointer elements. + alias _kgen_pack_with_pointer_type = __mlir_type[ + `!kgen.pack<:variadic `, Self._variadic_pointer_types, `>` + ] + + # This rebinds `in_pack` to the equivalent `!kgen.pack` with kgen pointers. + @doc_private + @always_inline("nodebug") + fn get_as_kgen_pack(self) -> Self._kgen_pack_with_pointer_type: + return rebind[Self._kgen_pack_with_pointer_type](self._value) + + alias _variadic_with_pointers_removed = __mlir_attr[ + `#kgen.param.expr: !kgen.variadic`, + ] + + # This is the `!kgen.pack` type that happens if one loads all the elements + # of the pack. + alias _loaded_kgen_pack_type = __mlir_type[ + `!kgen.pack<:variadic `, Self._variadic_with_pointers_removed, `>` + ] + + # This returns the stored KGEN pack after loading all of the elements. + @doc_private + @always_inline("nodebug") + fn get_loaded_kgen_pack(self) -> Self._loaded_kgen_pack_type: + return __mlir_op.`kgen.pack.load`(self.get_as_kgen_pack()) diff --git a/stdlib/src/builtin/error.mojo b/stdlib/src/builtin/error.mojo index fb016fa777..1718740ef9 100644 --- a/stdlib/src/builtin/error.mojo +++ b/stdlib/src/builtin/error.mojo @@ -222,6 +222,7 @@ struct Error( return String(StringRef(self.data, length)) +@doc_private fn __mojo_debugger_raise_hook(): """This function is used internally by the Mojo Debugger.""" pass diff --git a/stdlib/src/builtin/float_literal.mojo b/stdlib/src/builtin/float_literal.mojo index b8ce2b6b29..d6a19e9595 100644 --- a/stdlib/src/builtin/float_literal.mojo +++ b/stdlib/src/builtin/float_literal.mojo @@ -15,7 +15,7 @@ These are Mojo built-ins, so you don't need to import them. """ -from builtin._math import Ceilable, CeilDivable, Floorable, Truncable +from math import Ceilable, CeilDivable, Floorable, Truncable # ===----------------------------------------------------------------------===# # FloatLiteral diff --git a/stdlib/src/builtin/int.mojo b/stdlib/src/builtin/int.mojo index a4ba643759..9c97d71359 100644 --- a/stdlib/src/builtin/int.mojo +++ b/stdlib/src/builtin/int.mojo @@ -17,8 +17,7 @@ These are Mojo built-ins, so you don't need to import them. from collections import KeyElement -from builtin._documentation import doc_private -from builtin._math import Ceilable, CeilDivable, Floorable, Truncable +from math import Ceilable, CeilDivable, Floorable, Truncable from hashlib.hash import _hash_simd from hashlib._hasher import _HashableWithHasher, _Hasher from builtin.io import _snprintf @@ -26,11 +25,15 @@ from collections.string import ( _calc_initial_buffer_size_int32, _calc_initial_buffer_size_int64, ) +from python import Python, PythonObject +from python._cpython import Py_ssize_t +from memory import UnsafePointer from utils import Writable, Writer from utils._visualizers import lldb_formatter_wrapping_type from utils._select import _select_register_value as select from sys import triple_is_nvidia_cuda, bitwidthof +from sys.ffi import OpaquePointer # ===----------------------------------------------------------------------=== # # Indexer @@ -85,7 +88,7 @@ fn index[T: Indexer](idx: T, /) -> Int: # ===----------------------------------------------------------------------=== # -trait Intable: +trait Intable(CollectionElement): """The `Intable` trait describes a type that can be converted to an Int. Any type that conforms to `Intable` or @@ -178,7 +181,6 @@ trait IntableRaising: trait IntLike( Absable, Ceilable, - Comparable, Floorable, Writable, Powable, @@ -1125,6 +1127,17 @@ struct Int( """ hasher._update_with_simd(Int64(self)) + @doc_private + @staticmethod + fn try_from_python(obj: PythonObject) raises -> Self as result: + """Construct an `Int` from a Python integer value. + + Raises: + An error if conversion failed. + """ + + result = Python.py_long_as_ssize_t(obj) + # ===-------------------------------------------------------------------===# # Methods # ===-------------------------------------------------------------------===# diff --git a/stdlib/src/builtin/int_literal.mojo b/stdlib/src/builtin/int_literal.mojo index 5a6493a693..90b3850ddb 100644 --- a/stdlib/src/builtin/int_literal.mojo +++ b/stdlib/src/builtin/int_literal.mojo @@ -12,8 +12,7 @@ # ===----------------------------------------------------------------------=== # """Implements the IntLiteral class.""" -from builtin._documentation import doc_private -from builtin._math import Ceilable, CeilDivable, Floorable, Truncable +from math import Ceilable, CeilDivable, Floorable, Truncable @value diff --git a/stdlib/src/builtin/io.mojo b/stdlib/src/builtin/io.mojo index fd50658772..de43194b85 100644 --- a/stdlib/src/builtin/io.mojo +++ b/stdlib/src/builtin/io.mojo @@ -27,7 +27,6 @@ from sys.ffi import OpaquePointer, c_char_ptr from utils import Span, write_buffered, write_args from collections import InlineArray -from builtin.builtin_list import _LITRefPackHelper from builtin.dtype import _get_dtype_printf_format from builtin.file_descriptor import FileDescriptor from memory import UnsafePointer, memcpy @@ -163,7 +162,7 @@ fn _printf[ # The argument pack will contain references for each value in the pack, # but we want to pass their values directly into the C printf call. Load # all the members of the pack. - var loaded_pack = _LITRefPackHelper(arguments._value).get_loaded_kgen_pack() + var loaded_pack = arguments.get_loaded_kgen_pack() @parameter if triple_is_nvidia_cuda(): @@ -210,7 +209,7 @@ fn _snprintf[ # The argument pack will contain references for each value in the pack, # but we want to pass their values directly into the C snprintf call. Load # all the members of the pack. - var loaded_pack = _LITRefPackHelper(arguments._value).get_loaded_kgen_pack() + var loaded_pack = arguments.get_loaded_kgen_pack() return int( __mlir_op.`pop.external_call`[ diff --git a/stdlib/src/builtin/range.mojo b/stdlib/src/builtin/range.mojo index a7bd3264bf..ccc01436db 100644 --- a/stdlib/src/builtin/range.mojo +++ b/stdlib/src/builtin/range.mojo @@ -63,7 +63,7 @@ struct _ZeroStartingRange(Sized, ReversibleRange, _IntIterable): return self.end - curr @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline @@ -97,7 +97,7 @@ struct _SequentialRange(Sized, ReversibleRange, _IntIterable): return start @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline @@ -137,7 +137,7 @@ struct _StridedRangeIterator(Sized): return result @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @@ -165,7 +165,7 @@ struct _StridedRange(Sized, ReversibleRange, _StridedIterable): return result @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline @@ -339,7 +339,7 @@ struct _UIntZeroStartingRange(UIntSized): return self.end - curr @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline @@ -370,7 +370,7 @@ struct _UIntStridedRangeIterator(UIntSized): return result @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @@ -410,7 +410,7 @@ struct _UIntStridedRange(UIntSized, _UIntStridedIterable): return result @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline @@ -479,7 +479,7 @@ struct _ZeroStartingScalarRange[type: DType]: return self.end - curr @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline @@ -516,7 +516,7 @@ struct _SequentialScalarRange[type: DType]: return start @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline @@ -541,7 +541,7 @@ struct _StridedScalarRangeIterator[type: DType]: var step: Scalar[type] @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: # If the type is unsigned, then 'step' cannot be negative. @parameter if type.is_unsigned(): diff --git a/stdlib/src/builtin/simd.mojo b/stdlib/src/builtin/simd.mojo index e8eafc1525..9678701dcd 100644 --- a/stdlib/src/builtin/simd.mojo +++ b/stdlib/src/builtin/simd.mojo @@ -34,8 +34,8 @@ from sys._assembly import inlined_assembly from os import abort from bit import pop_count -from builtin._documentation import doc_private -from builtin._math import Ceilable, CeilDivable, Floorable, Truncable +from documentation import doc_private +from math import Ceilable, CeilDivable, Floorable, Truncable from builtin.dtype import _uint_type_of_width from hashlib.hash import _hash_simd from hashlib._hasher import _HashableWithHasher, _Hasher @@ -57,6 +57,7 @@ from sys import sizeof, alignof from .dtype import ( _get_dtype_printf_format, _integral_type_of, + _unsigned_integral_type_of, _scientific_notation_digits, ) from .io import _printf, _snprintf_scalar @@ -179,12 +180,10 @@ struct SIMD[type: DType, size: Int]( Hashable, _HashableWithHasher, Intable, - Powable, + IntLike, Representable, Roundable, Sized, - Stringable, - Truncable, ): """Represents a small vector that is backed by a hardware vector element. @@ -494,6 +493,20 @@ struct SIMD[type: DType, size: Int]( ) ) + fn __init__[ + int_type: DType, // + ](inout self, *, from_bits: SIMD[int_type, size]): + """Initializes the SIMD vector from the bits of an integral SIMD vector. + + Parameters: + int_type: The integral type of the input SIMD vector. + + Args: + from_bits: The SIMD vector to copy the bits from. + """ + constrained[int_type.is_integral(), "the SIMD type must be integral"]() + self = bitcast[type, size](from_bits) + # ===-------------------------------------------------------------------===# # Operator dunders # ===-------------------------------------------------------------------===# @@ -778,9 +791,7 @@ struct SIMD[type: DType, size: Int]( # As a workaround, we roll our own implementation @parameter if has_neon() and type is DType.bfloat16: - var int_self = bitcast[_integral_type_of[type](), size](self) - var int_rhs = bitcast[_integral_type_of[type](), size](rhs) - return int_self == int_rhs + return self.to_bits() == rhs.to_bits() else: return __mlir_op.`pop.cmp`[pred = __mlir_attr.`#pop`]( self.value, rhs.value @@ -803,9 +814,7 @@ struct SIMD[type: DType, size: Int]( # As a workaround, we roll our own implementation. @parameter if has_neon() and type is DType.bfloat16: - var int_self = bitcast[_integral_type_of[type](), size](self) - var int_rhs = bitcast[_integral_type_of[type](), size](rhs) - return int_self != int_rhs + return self.to_bits() != rhs.to_bits() else: return __mlir_op.`pop.cmp`[pred = __mlir_attr.`#pop`]( self.value, rhs.value @@ -1400,6 +1409,18 @@ struct SIMD[type: DType, size: Int]( _type = __mlir_type.`!pop.scalar` ](rebind[Scalar[type]](self).value) + @always_inline("nodebug") + fn __mlir_index__(self) -> __mlir_type.index: + """Convert to index. + + Returns: + The corresponding __mlir_type.index value. + """ + constrained[ + type.is_integral(), "cannot index using a floating point type" + ]() + return int(self).value + @always_inline("nodebug") fn __float__(self) -> Float64: """Casts the value to a float. @@ -1504,9 +1525,9 @@ struct SIMD[type: DType, size: Int]( self ) - alias integral_type = FPUtils[type].integral_type - var m = self._float_to_bits[integral_type]() - return (m & (FPUtils[type].sign_mask() - 1))._bits_to_float[type]() + # FIXME: This should be an alias + var mask = FPUtils[type].exponent_mantissa_mask() + return Self(from_bits=self.to_bits() & mask) else: return (self < 0).select(-self, self) @@ -1716,32 +1737,31 @@ struct SIMD[type: DType, size: Int]( if size > 1: writer.write("]") + # FIXME: `_integral_type_of` doesn't work with `DType.bool`. @always_inline - fn _bits_to_float[dest_type: DType](self) -> SIMD[dest_type, size]: - """Bitcasts the integer value to a floating-point value. + fn to_bits[ + int_dtype: DType = _integral_type_of[type]() + ](self) -> SIMD[int_dtype, size]: + """Bitcasts the SIMD vector to an integer SIMD vector. Parameters: - dest_type: DType to bitcast the input SIMD vector to. - - Returns: - A floating-point representation of the integer value. - """ - alias integral_type = FPUtils[type].integral_type - return bitcast[dest_type, size](self.cast[integral_type]()) - - @always_inline - fn _float_to_bits[dest_type: DType](self) -> SIMD[dest_type, size]: - """Bitcasts the floating-point value to an integer value. - - Parameters: - dest_type: DType to bitcast the input SIMD vector to. + int_dtype: The integer type to cast to. Returns: An integer representation of the floating-point value. """ - alias integral_type = FPUtils[type].integral_type - var v = bitcast[integral_type, size](self) - return v.cast[dest_type]() + constrained[ + int_dtype.is_integral(), "the target type must be integral" + ]() + constrained[ + bitwidthof[int_dtype]() >= bitwidthof[type](), + ( + "the target integer type must be at least as wide as the source" + " type" + ), + ]() + + return bitcast[_integral_type_of[type](), size](self).cast[int_dtype]() fn _floor_ceil_trunc_impl[intrinsic: StringLiteral](self) -> Self: constrained[ @@ -3187,6 +3207,16 @@ fn _modf(x: SIMD) -> Tuple[__type_of(x), __type_of(x)]: return (result_int, result_frac) +@always_inline("nodebug") +fn _sub_with_saturation[ + width: Int, // +](a: SIMD[DType.uint8, width], b: SIMD[DType.uint8, width]) -> SIMD[ + DType.uint8, width +]: + # generates a single `vpsubusb` on x86 with AVX + return llvm_intrinsic["llvm.usub.sat", __type_of(a)](a, b) + + # ===----------------------------------------------------------------------=== # # floor # ===----------------------------------------------------------------------=== # @@ -3201,14 +3231,16 @@ fn _floor(x: SIMD) -> __type_of(x): alias bitwidth = bitwidthof[x.type]() alias exponent_width = FPUtils[x.type].exponent_width() alias mantissa_width = FPUtils[x.type].mantissa_width() + # FIXME: GH issue #3613 + # alias mask = FPUtils[x.type].exponent_mask() alias mask = (1 << exponent_width) - 1 alias bias = FPUtils[x.type].exponent_bias() alias shift_factor = bitwidth - exponent_width - 1 - var bits = bitcast[integral_type, x.size](x) + bits = x.to_bits() var e = ((bits >> mantissa_width) & mask) - bias bits = (e < shift_factor).select( bits & ~((1 << (shift_factor - e)) - 1), bits, ) - return bitcast[x.type, x.size](bits) + return __type_of(x)(from_bits=bits) diff --git a/stdlib/src/builtin/string_literal.mojo b/stdlib/src/builtin/string_literal.mojo index a4643253d9..5f659ee7c9 100644 --- a/stdlib/src/builtin/string_literal.mojo +++ b/stdlib/src/builtin/string_literal.mojo @@ -28,6 +28,7 @@ from utils.string_slice import ( _StringSliceIter, _FormatCurlyEntry, _CurlyEntryFormattable, + _to_string_list, ) # ===----------------------------------------------------------------------===# @@ -102,6 +103,68 @@ struct StringLiteral( """ return __mlir_op.`pop.string.concat`(self.value, rhs.value) + @always_inline("nodebug") + fn __iadd__(inout self, rhs: StringLiteral): + """Concatenate a string literal to an existing one. Can only be + evaluated at compile time using the `alias` keyword, which will write + the result into the binary. + + Args: + rhs: The string to concat. + + Example: + + ```mojo + fn add_literal( + owned original: StringLiteral, add: StringLiteral, n: Int + ) -> StringLiteral: + for _ in range(n): + original += add + return original + + + fn main(): + alias original = "mojo" + alias concat = add_literal(original, "!", 4) + print(concat) + ``` + + Result: + + ``` + mojo!!!! + ``` + """ + self = self + rhs + + @always_inline("nodebug") + fn __mul__(self, n: Int) -> StringLiteral: + """Concatenates the string literal `n` times. Can only be evaluated at + compile time using the `alias` keyword, which will write the result into + The binary. + + Args: + n : The number of times to concatenate the string literal. + + Returns: + The string concatenated `n` times. + + Example: + + ```mojo + alias original = "mojo" + alias concat = original * 3 + print(concat) + ``` + + `concat` now points to the StringLiteral "mojomojomojo", which is + written into the binary. + """ + var concat = "" + for _ in range(n): + concat += self + return concat + @always_inline("nodebug") fn __eq__(self, rhs: StringLiteral) -> Bool: """Compare two string literals for equality. @@ -554,7 +617,7 @@ struct StringLiteral( # Splitting a string with leading, trailing, and middle whitespaces _ = " hello world ".split() # ["hello", "world"] # Splitting adjacent universal newlines: - _ = "hello \\t\\n\\r\\f\\v\\x1c\\x1d\\x1e\\x85\\u2028\\u2029world".split() + _ = "hello \\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029world".split() # ["hello", "world"] ``` . @@ -563,9 +626,9 @@ struct StringLiteral( fn splitlines(self, keepends: Bool = False) -> List[String]: """Split the string literal at line boundaries. This corresponds to Python's - [universal newlines]( + [universal newlines:]( https://docs.python.org/3/library/stdtypes.html#str.splitlines) - `"\\t\\n\\r\\r\\n\\f\\v\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. + `"\\r\\n"` and `"\\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. Args: keepends: If True, line breaks are kept in the resulting strings. @@ -573,7 +636,7 @@ struct StringLiteral( Returns: A List of Strings containing the input split by line boundaries. """ - return self.as_string_slice().splitlines(keepends) + return _to_string_list(self.as_string_slice().splitlines(keepends)) fn count(self, substr: String) -> Int: """Return the number of non-overlapping occurrences of substring diff --git a/stdlib/src/builtin/uint.mojo b/stdlib/src/builtin/uint.mojo index 1dac5cad1e..9c744052df 100644 --- a/stdlib/src/builtin/uint.mojo +++ b/stdlib/src/builtin/uint.mojo @@ -17,7 +17,7 @@ These are Mojo built-ins, so you don't need to import them. from sys import bitwidthof from utils._visualizers import lldb_formatter_wrapping_type -from builtin._documentation import doc_private +from documentation import doc_private from hashlib.hash import _hash_simd from hashlib._hasher import _HashableWithHasher, _Hasher @@ -28,7 +28,7 @@ from hashlib._hasher import _HashableWithHasher, _Hasher struct UInt(IntLike, _HashableWithHasher): """This type represents an unsigned integer. - An unsigned integer is represents a positive integral number. + An unsigned integer represents a positive integral number. The size of this unsigned integer is platform-dependent. diff --git a/stdlib/src/collections/__init__.mojo b/stdlib/src/collections/__init__.mojo index 6a220b91b4..97f58c9c88 100644 --- a/stdlib/src/collections/__init__.mojo +++ b/stdlib/src/collections/__init__.mojo @@ -13,6 +13,7 @@ """Implements the collections package.""" from .counter import Counter +from .deque import Deque from .dict import Dict, KeyElement from .inline_array import InlineArray from .inline_list import InlineList diff --git a/stdlib/src/collections/deque.mojo b/stdlib/src/collections/deque.mojo new file mode 100644 index 0000000000..b065265479 --- /dev/null +++ b/stdlib/src/collections/deque.mojo @@ -0,0 +1,420 @@ +# ===----------------------------------------------------------------------=== # +# Copyright (c) 2024, Modular Inc. All rights reserved. +# +# Licensed under the Apache License v2.0 with LLVM Exceptions: +# https://llvm.org/LICENSE.txt +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ===----------------------------------------------------------------------=== # +"""Defines the Deque type. + +You can import these APIs from the `collections` package. + +Examples: + +```mojo +from collections import Deque +``` +""" + +from bit import bit_ceil +from collections import Optional +from memory import UnsafePointer + + +# ===----------------------------------------------------------------------===# +# Deque +# ===----------------------------------------------------------------------===# + + +struct Deque[ElementType: CollectionElement]( + Movable, ExplicitlyCopyable, Sized, Boolable +): + """Implements a double-ended queue. + + It supports pushing and popping from both ends in O(1) time resizing the + underlying storage as needed. + + Parameters: + ElementType: The type of the elements in the deque. + Must implement the trait `CollectionElement`. + """ + + # ===-------------------------------------------------------------------===# + # Aliases + # ===-------------------------------------------------------------------===# + + alias default_capacity: Int = 64 + """The default capacity of the deque: must be the power of 2.""" + + # ===-------------------------------------------------------------------===# + # Fields + # ===-------------------------------------------------------------------===# + + var _data: UnsafePointer[ElementType] + """The underlying storage for the deque.""" + + var _head: Int + """The index of the head: points the first element of the deque.""" + + var _tail: Int + """The index of the tail: points behind the last element of the deque.""" + + var _capacity: Int + """The amount of elements that can fit in the deque without resizing it.""" + + var _min_capacity: Int + """The minimum required capacity in the number of elements of the deque.""" + + var _maxlen: Int + """The maximum number of elements allowed in the deque. + + If more elements are pushed, causing the total to exceed this limit, + items will be popped from the opposite end to maintain the maximum length. + """ + + var _shrink: Bool + """ Indicates whether the deque's storage is re-allocated to a smaller size when possible.""" + + # ===-------------------------------------------------------------------===# + # Life cycle methods + # ===-------------------------------------------------------------------===# + + fn __init__( + inout self, + *, + owned elements: Optional[List[ElementType]] = None, + capacity: Int = self.default_capacity, + min_capacity: Int = self.default_capacity, + maxlen: Int = -1, + shrink: Bool = True, + ): + """Constructs a deque. + + Args: + elements: The optional list of initial deque elements. + capacity: The initial capacity of the deque. + min_capacity: The minimum allowed capacity of the deque when shrinking. + maxlen: The maximum allowed capacity of the deque when growing. + shrink: Should storage be de-allocated when not needed. + """ + if capacity <= 0: + deque_capacity = self.default_capacity + else: + deque_capacity = bit_ceil(capacity) + + if min_capacity <= 0: + min_deque_capacity = self.default_capacity + else: + min_deque_capacity = bit_ceil(min_capacity) + + if maxlen <= 0: + max_deque_len = -1 + else: + max_deque_len = maxlen + max_deque_capacity = bit_ceil(maxlen) + if max_deque_capacity == maxlen: + max_deque_capacity <<= 1 + deque_capacity = min(deque_capacity, max_deque_capacity) + + self._capacity = deque_capacity + self._data = UnsafePointer[ElementType].alloc(deque_capacity) + self._head = 0 + self._tail = 0 + self._min_capacity = min_deque_capacity + self._maxlen = max_deque_len + self._shrink = shrink + + if elements is not None: + self.extend(elements.value()) + + fn __init__(inout self, owned *values: ElementType): + """Constructs a deque from the given values. + + Args: + values: The values to populate the deque with. + """ + self = Self(variadic_list=values^) + + fn __init__( + inout self, *, owned variadic_list: VariadicListMem[ElementType, _] + ): + """Constructs a deque from the given values. + + Args: + variadic_list: The values to populate the deque with. + """ + args_length = len(variadic_list) + + if args_length < self.default_capacity: + capacity = self.default_capacity + else: + capacity = args_length + + self = Self(capacity=capacity) + + for i in range(args_length): + src = UnsafePointer.address_of(variadic_list[i]) + dst = self._data + i + src.move_pointee_into(dst) + + # Mark the elements as unowned to avoid del'ing uninitialized objects. + variadic_list._is_owned = False + + self._tail = args_length + + fn __init__(inout self, other: Self): + """Creates a deepcopy of the given deque. + + Args: + other: The deque to copy. + """ + self = Self( + capacity=other._capacity, + min_capacity=other._min_capacity, + maxlen=other._maxlen, + shrink=other._shrink, + ) + for i in range(len(other)): + offset = other._physical_index(other._head + i) + (self._data + i).init_pointee_copy((other._data + offset)[]) + + self._tail = len(other) + + fn __moveinit__(inout self, owned existing: Self): + """Moves data of an existing deque into a new one. + + Args: + existing: The existing deque. + """ + self._data = existing._data + self._capacity = existing._capacity + self._head = existing._head + self._tail = existing._tail + self._min_capacity = existing._min_capacity + self._maxlen = existing._maxlen + self._shrink = existing._shrink + + fn __del__(owned self): + """Destroys all elements in the deque and free its memory.""" + for i in range(len(self)): + offset = self._physical_index(self._head + i) + (self._data + offset).destroy_pointee() + self._data.free() + + # ===-------------------------------------------------------------------===# + # Trait implementations + # ===-------------------------------------------------------------------===# + + @always_inline + fn __bool__(self) -> Bool: + """Checks whether the deque has any elements or not. + + Returns: + `False` if the deque is empty, `True` if there is at least one element. + """ + return self._head != self._tail + + @always_inline + fn __len__(self) -> Int: + """Gets the number of elements in the deque. + + Returns: + The number of elements in the deque. + """ + return (self._tail - self._head) & (self._capacity - 1) + + fn __getitem__(ref [_]self, idx: Int) -> ref [self] ElementType: + """Gets the deque element at the given index. + + Args: + idx: The index of the element. + + Returns: + A reference to the element at the given index. + """ + normalized_idx = idx + + debug_assert( + -len(self) <= normalized_idx < len(self), + "index: ", + normalized_idx, + " is out of bounds for `Deque` of size: ", + len(self), + ) + + if normalized_idx < 0: + normalized_idx += len(self) + + offset = self._physical_index(self._head + normalized_idx) + return (self._data + offset)[] + + # ===-------------------------------------------------------------------===# + # Methods + # ===-------------------------------------------------------------------===# + + fn append(inout self, owned value: ElementType): + """Appends a value to the right side of the deque. + + Args: + value: The value to append. + """ + # checking for positive _maxlen first is important for speed + if self._maxlen > 0 and len(self) == self._maxlen: + (self._data + self._head).destroy_pointee() + self._head = self._physical_index(self._head + 1) + + (self._data + self._tail).init_pointee_move(value^) + self._tail = self._physical_index(self._tail + 1) + + if self._head == self._tail: + self._realloc(self._capacity << 1) + + fn extend(inout self, owned values: List[ElementType]): + """Extends the right side of the deque by consuming elements of the list argument. + + Args: + values: List whose elements will be added at the right side of the deque. + """ + n_move_total, n_move_self, n_move_values, n_pop_self, n_pop_values = ( + self._compute_pop_and_move_counts(len(self), len(values)) + ) + + # pop excess `self` elements + for _ in range(n_pop_self): + (self._data + self._head).destroy_pointee() + self._head = self._physical_index(self._head + 1) + + # move from `self` to new location if we have to re-allocate + if n_move_total >= self._capacity: + self._prepare_for_new_elements(n_move_total, n_move_self) + + # we will consume all elements of `values` + values_data = values.steal_data() + + # pop excess elements from `values` + for i in range(n_pop_values): + (values_data + i).destroy_pointee() + + # move remaining elements from `values` + src = values_data + n_pop_values + for i in range(n_move_values): + (src + i).move_pointee_into(self._data + self._tail) + self._tail = self._physical_index(self._tail + 1) + + fn _compute_pop_and_move_counts( + self, len_self: Int, len_values: Int + ) -> (Int, Int, Int, Int, Int): + """ + Calculates the number of elements to retain, move or discard in the deque and + in the list of the new values based on the current length of the deque, + the length of new values to add, and the maximum length constraint `_maxlen`. + + Args: + len_self: The current number of elements in the deque. + len_values: The number of new elements to add to the deque. + + Returns: + A tuple: (n_move_total, n_move_self, n_move_values, n_pop_self, n_pop_values) + n_move_total: Total final number of elements in the deque. + n_move_self: Number of existing elements to retain in the deque. + n_move_values: Number of new elements to add from `values`. + n_pop_self: Number of existing elements to remove from the deque. + n_pop_values: Number of new elements that don't fit and will be discarded. + """ + len_total = len_self + len_values + + n_move_total = ( + min(len_total, self._maxlen) if self._maxlen > 0 else len_total + ) + n_move_values = min(len_values, n_move_total) + n_move_self = n_move_total - n_move_values + + n_pop_self = len_self - n_move_self + n_pop_values = len_values - n_move_values + + return ( + n_move_total, + n_move_self, + n_move_values, + n_pop_self, + n_pop_values, + ) + + @always_inline + fn _physical_index(self, logical_index: Int) -> Int: + """Calculates the physical index in the circular buffer. + + Args: + logical_index: The logical index, which may fall outside the physical bounds + of the buffer and needs to be wrapped around. + + The size of the underlying buffer is always a power of two, allowing the use of + the more efficient bitwise `&` operation instead of the modulo `%` operator. + """ + return logical_index & (self._capacity - 1) + + fn _prepare_for_new_elements(inout self, n_total: Int, n_retain: Int): + """Prepares the deque’s internal buffer for adding new elements by + reallocating memory and retaining the specified number of existing elements. + + Args: + n_total: The total number of elements the new buffer should support. + n_retain: The number of existing elements to keep in the deque. + """ + new_capacity = bit_ceil(n_total) + if new_capacity == n_total: + new_capacity <<= 1 + + new_data = UnsafePointer[ElementType].alloc(new_capacity) + + for i in range(n_retain): + offset = self._physical_index(self._head + i) + (self._data + offset).move_pointee_into(new_data + i) + + if self._data: + self._data.free() + + self._data = new_data + self._capacity = new_capacity + self._head = 0 + self._tail = n_retain + + fn _realloc(inout self, new_capacity: Int): + """Relocates data to a new storage buffer. + + Args: + new_capacity: The new capacity of the buffer. + """ + deque_len = len(self) if self else self._capacity + + tail_len = self._tail + head_len = self._capacity - self._head + + if head_len > deque_len: + head_len = deque_len + tail_len = 0 + + new_data = UnsafePointer[ElementType].alloc(new_capacity) + + src = self._data + self._head + dsc = new_data + for i in range(head_len): + (src + i).move_pointee_into(dsc + i) + + src = self._data + dsc = new_data + head_len + for i in range(tail_len): + (src + i).move_pointee_into(dsc + i) + + self._head = 0 + self._tail = deque_len + + if self._data: + self._data.free() + self._data = new_data + self._capacity = new_capacity diff --git a/stdlib/src/collections/dict.mojo b/stdlib/src/collections/dict.mojo index 07ffbfd6ce..8cbd4b6357 100644 --- a/stdlib/src/collections/dict.mojo +++ b/stdlib/src/collections/dict.mojo @@ -107,7 +107,7 @@ struct _DictEntryIter[ return Pointer.address_of(opt_entry_ref[].value()) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: @@ -145,7 +145,7 @@ struct _DictKeyIter[ return Pointer.address_of(self.iter.__next__()[].key) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: @@ -195,7 +195,7 @@ struct _DictValueIter[ ) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: @@ -489,7 +489,9 @@ struct Dict[K: KeyElement, V: CollectionElement]( Example usage: ```mojo - var x = Dict[Int,Int](power_of_two_initial_capacity = 1024) + from collections import Dict + + var x = Dict[Int, Int](power_of_two_initial_capacity = 1024) # Insert (2/3 of 1024) entries without reallocation. ``` @@ -533,10 +535,10 @@ struct Dict[K: KeyElement, V: CollectionElement]( Returns: The new dictionary. """ - var dict = Dict[K, V]() + var my_dict = Dict[K, V]() for key in keys: - dict[key[]] = value - return dict + my_dict[key[]] = value + return my_dict @staticmethod fn fromkeys( @@ -688,6 +690,8 @@ struct Dict[K: KeyElement, V: CollectionElement]( the way to call this method is a bit special. Here is an example below: ```mojo + from collections import Dict + var my_dict = Dict[Int, Float64]() my_dict[1] = 1.1 my_dict[2] = 2.2 @@ -899,7 +903,13 @@ struct Dict[K: KeyElement, V: CollectionElement]( access the key and value as attributes ie. ```mojo - for e in dict.items(): + from collections import Dict + + var my_dict = Dict[String, Int]() + my_dict["a"] = 1 + my_dict["b"] = 2 + + for e in my_dict.items(): print(e[].key, e[].value) ``` @@ -1243,7 +1253,13 @@ struct OwnedKwargsDict[V: CollectionElement]( access the key and value as attributes ie. ```mojo - for e in dict.items(): + from collections import Dict + + var my_dict = Dict[String, Int]() + my_dict["a"] = 1 + my_dict["b"] = 2 + + for e in my_dict.items(): print(e[].key, e[].value) ``` diff --git a/stdlib/src/collections/inline_list.mojo b/stdlib/src/collections/inline_list.mojo index 97f253fd50..0922999700 100644 --- a/stdlib/src/collections/inline_list.mojo +++ b/stdlib/src/collections/inline_list.mojo @@ -64,7 +64,7 @@ struct _InlineListIter[ return Pointer.address_of(self.src[][self.index]) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: diff --git a/stdlib/src/collections/list.mojo b/stdlib/src/collections/list.mojo index 1587298703..b849766a9e 100644 --- a/stdlib/src/collections/list.mojo +++ b/stdlib/src/collections/list.mojo @@ -72,7 +72,7 @@ struct _ListIter[ return Pointer.address_of(self.src[][self.index]) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: diff --git a/stdlib/src/collections/optional.mojo b/stdlib/src/collections/optional.mojo index c556f0c4ee..b4a1b00c74 100644 --- a/stdlib/src/collections/optional.mojo +++ b/stdlib/src/collections/optional.mojo @@ -31,7 +31,6 @@ print(d) # prints 2 ``` """ -from builtin._documentation import doc_private from os import abort from utils import Variant diff --git a/stdlib/src/collections/string.mojo b/stdlib/src/collections/string.mojo index 494f9a59d3..c14cb32280 100644 --- a/stdlib/src/collections/string.mojo +++ b/stdlib/src/collections/string.mojo @@ -44,6 +44,7 @@ from utils.string_slice import ( _shift_unicode_to_utf8, _FormatCurlyEntry, _CurlyEntryFormattable, + _to_string_list, ) # ===----------------------------------------------------------------------=== # @@ -615,7 +616,7 @@ fn _isspace(c: String) -> Bool: """Determines whether the given character is a whitespace character. This only respects the default "C" locale, i.e. returns True only if the - character specified is one of " \\t\\n\\r\\f\\v". For semantics similar + character specified is one of " \\t\\n\\v\\f\\r". For semantics similar to Python, use `String.isspace()`. Args: @@ -631,7 +632,7 @@ fn _isspace(c: UInt8) -> Bool: """Determines whether the given character is a whitespace character. This only respects the default "C" locale, i.e. returns True only if the - character specified is one of " \\t\\n\\r\\f\\v". For semantics similar + character specified is one of " \\t\\n\\v\\f\\r". For semantics similar to Python, use `String.isspace()`. Args: @@ -956,7 +957,7 @@ struct String( buff: The buffer. This should have an existing terminator. """ - return String(buff, len(StringRef(buff)) + 1) + return String(buff, len(StringRef(ptr=buff)) + 1) @staticmethod fn _from_bytes(owned buff: Self._buffer_type) -> String: @@ -1036,7 +1037,17 @@ struct String( Returns: True if the Strings are equal and False otherwise. """ - return not (self != other) + if not self and not other: + return True + if len(self) != len(other): + return False + # same pointer and length, so equal + if self.unsafe_ptr() == other.unsafe_ptr(): + return True + for i in range(len(self)): + if self.unsafe_ptr()[i] != other.unsafe_ptr()[i]: + return False + return True @always_inline fn __ne__(self, other: String) -> Bool: @@ -1048,7 +1059,7 @@ struct String( Returns: True if the Strings are not equal and False otherwise. """ - return self._strref_dangerous() != other._strref_dangerous() + return not (self == other) @always_inline fn __lt__(self, rhs: String) -> Bool: @@ -1491,24 +1502,6 @@ struct String( buf.append(0) return String(buf^) - fn _strref_dangerous(self) -> StringRef: - """ - Returns an inner pointer to the string as a StringRef. - This functionality is extremely dangerous because Mojo eagerly releases - strings. Using this requires the use of the _strref_keepalive() method - to keep the underlying string alive long enough. - """ - return StringRef(self.unsafe_ptr(), self.byte_length()) - - fn _strref_keepalive(self): - """ - A noop that keeps `self` alive through the call. This - can be carefully used with `_strref_dangerous()` to wield inner pointers - without the string getting deallocated early. - """ - pass - - # FIXME(MSTDL-956): This should return a pointer with StaticConstantOrigin. fn unsafe_ptr(self) -> UnsafePointer[UInt8]: """Retrieves a pointer to the underlying memory. @@ -1658,7 +1651,7 @@ struct String( python whitespace String. This corresponds to Python's [universal separators]( https://docs.python.org/3/library/stdtypes.html#str.splitlines) - `" \\t\\n\\r\\f\\v\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. + `" \\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. Returns: True if the whole String is made up of whitespace characters @@ -1745,7 +1738,7 @@ struct String( _ = String(" hello world ").split() # ["hello", "world"] # Splitting adjacent universal newlines: _ = String( - "hello \\t\\n\\r\\f\\v\\x1c\\x1d\\x1e\\x85\\u2028\\u2029world" + "hello \\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029world" ).split() # ["hello", "world"] ``` . @@ -1795,9 +1788,9 @@ struct String( fn splitlines(self, keepends: Bool = False) -> List[String]: """Split the string at line boundaries. This corresponds to Python's - [universal newlines]( + [universal newlines:]( https://docs.python.org/3/library/stdtypes.html#str.splitlines) - `"\\t\\n\\r\\r\\n\\f\\v\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. + `"\\r\\n"` and `"\\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. Args: keepends: If True, line breaks are kept in the resulting strings. @@ -1805,7 +1798,7 @@ struct String( Returns: A List of Strings containing the input split by line boundaries. """ - return self.as_string_slice().splitlines(keepends) + return _to_string_list(self.as_string_slice().splitlines(keepends)) fn replace(self, old: String, new: String) -> String: """Return a copy of the string with all occurrences of substring `old` diff --git a/stdlib/src/collections/vector.mojo b/stdlib/src/collections/vector.mojo index f2452865c3..b371c7ec05 100644 --- a/stdlib/src/collections/vector.mojo +++ b/stdlib/src/collections/vector.mojo @@ -46,7 +46,7 @@ struct _VecIter[ return deref(self.vec, self.i - 1) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: diff --git a/stdlib/src/documentation/__init__.mojo b/stdlib/src/documentation/__init__.mojo new file mode 100644 index 0000000000..f307558aa3 --- /dev/null +++ b/stdlib/src/documentation/__init__.mojo @@ -0,0 +1,15 @@ +# ===----------------------------------------------------------------------=== # +# Copyright (c) 2024, Modular Inc. All rights reserved. +# +# Licensed under the Apache License v2.0 with LLVM Exceptions: +# https://llvm.org/LICENSE.txt +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ===----------------------------------------------------------------------=== # +"""Implements the documentation package.""" + +from .documentation import doc_private diff --git a/stdlib/src/builtin/_documentation.mojo b/stdlib/src/documentation/documentation.mojo similarity index 93% rename from stdlib/src/builtin/_documentation.mojo rename to stdlib/src/documentation/documentation.mojo index 7c7f600048..76892d3c6c 100644 --- a/stdlib/src/builtin/_documentation.mojo +++ b/stdlib/src/documentation/documentation.mojo @@ -27,12 +27,11 @@ fn doc_private(): This decorator allows for hiding the documentation for a declaration during generation. This is often used to hide `__init__`, and other special - methods, that are intended for internal consumption. + methods, that are not intended to be part of a library's documentation. For example: ```mojo - %# from builtin._documentation import doc_private struct Foo: @doc_private fn __init__(inout self): diff --git a/stdlib/src/hashlib/_ahash.mojo b/stdlib/src/hashlib/_ahash.mojo index 9770fe84ac..d54036d0fe 100644 --- a/stdlib/src/hashlib/_ahash.mojo +++ b/stdlib/src/hashlib/_ahash.mojo @@ -163,7 +163,7 @@ struct AHasher[key: U256](_Hasher): @parameter if new_data.type.is_floating_point(): - v64 = new_data._float_to_bits[DType.uint64]() + v64 = new_data.to_bits().cast[DType.uint64]() else: v64 = new_data.cast[DType.uint64]() diff --git a/stdlib/src/math/__init__.mojo b/stdlib/src/math/__init__.mojo index 066cad8edc..3a9e67e7c7 100644 --- a/stdlib/src/math/__init__.mojo +++ b/stdlib/src/math/__init__.mojo @@ -23,6 +23,7 @@ from .math import ( CeilDivable, CeilDivableRaising, Floorable, + Truncable, acos, acosh, align_down, diff --git a/stdlib/src/math/math.mojo b/stdlib/src/math/math.mojo index ee63e6fd81..9e2d918eb7 100644 --- a/stdlib/src/math/math.mojo +++ b/stdlib/src/math/math.mojo @@ -34,7 +34,6 @@ from sys import ( from memory import UnsafePointer from bit import count_trailing_zeros -from builtin._math import * from builtin.dtype import _integral_type_of from builtin.simd import _simd_apply, _modf from sys.info import _current_arch @@ -419,11 +418,9 @@ fn exp2[ if type not in (DType.float32, DType.float64): return exp2(x.cast[DType.float32]()).cast[type]() - alias integral_type = FPUtils[type].integral_type - var xc = x.clamp(-126, 126) - var m = xc.cast[integral_type]() + var m = xc.cast[__type_of(x.to_bits()).type]() xc -= m.cast[type]() @@ -437,11 +434,9 @@ fn exp2[ 1.33336498402e-3, ), ](xc) - - return ( - r._float_to_bits[integral_type]() - + (m << FPUtils[type].mantissa_width()) - )._bits_to_float[type]() + return __type_of(r)( + from_bits=(r.to_bits() + (m << FPUtils[type].mantissa_width())) + ) # ===----------------------------------------------------------------------=== # @@ -505,11 +500,9 @@ fn _ldexp_impl[ return res alias integral_type = FPUtils[type].integral_type - var m: SIMD[integral_type, simd_width] = ( - exp.cast[integral_type]() + FPUtils[type].exponent_bias() - ) + var m = exp.cast[integral_type]() + FPUtils[type].exponent_bias() - return x * (m << FPUtils[type].mantissa_width())._bits_to_float[type]() + return x * __type_of(x)(from_bits=m << FPUtils[type].mantissa_width()) @always_inline @@ -630,8 +623,8 @@ fn exp[ @always_inline fn _frexp_mask1[ - simd_width: Int, type: DType, integral_type: DType -]() -> SIMD[integral_type, simd_width]: + simd_width: Int, type: DType +]() -> SIMD[_integral_type_of[type](), simd_width]: @parameter if type is DType.float16: return 0x7C00 @@ -646,8 +639,8 @@ fn _frexp_mask1[ @always_inline fn _frexp_mask2[ - simd_width: Int, type: DType, integral_type: DType -]() -> SIMD[integral_type, simd_width]: + simd_width: Int, type: DType +]() -> SIMD[_integral_type_of[type](), simd_width]: @parameter if type is DType.float16: return 0x3800 @@ -682,22 +675,20 @@ fn frexp[ """ # Based on the implementation in boost/simd/arch/common/simd/function/ifrexp.hpp constrained[type.is_floating_point(), "must be a floating point value"]() - alias integral_type = _integral_type_of[type]() - alias zero = SIMD[type, simd_width](0) + alias T = SIMD[type, simd_width] + alias zero = T(0) alias max_exponent = FPUtils[type].max_exponent() - 2 alias mantissa_width = FPUtils[type].mantissa_width() - var mask1 = _frexp_mask1[simd_width, type, integral_type]() - var mask2 = _frexp_mask2[simd_width, type, integral_type]() - var x_int = x._float_to_bits[integral_type]() + var mask1 = _frexp_mask1[simd_width, type]() + var mask2 = _frexp_mask2[simd_width, type]() + var x_int = x.to_bits() var selector = x != zero var exp = selector.select( (((mask1 & x_int) >> mantissa_width) - max_exponent).cast[type](), zero, ) - var frac = selector.select( - ((x_int & ~mask1) | mask2)._bits_to_float[type](), zero - ) - return StaticTuple[SIMD[type, simd_width], 2](frac, exp) + var frac = selector.select(T(from_bits=x_int & ~mask1 | mask2), zero) + return StaticTuple[size=2](frac, exp) # ===----------------------------------------------------------------------=== # @@ -1057,6 +1048,18 @@ fn isclose[ # ===----------------------------------------------------------------------=== # +# TODO: Remove this when `iota` works at compile-time +fn _compile_time_iota[type: DType, simd_width: Int]() -> SIMD[type, simd_width]: + constrained[ + type.is_integral(), + "_compile_time_iota can only be used with integer types.", + ]() + var a = SIMD[type, simd_width](0) + for i in range(simd_width): + a[i] = i + return a + + @always_inline fn iota[ type: DType, simd_width: Int @@ -2470,3 +2473,204 @@ fn _call_ptx_intrinsic[ ) return res + + +# ===----------------------------------------------------------------------=== # +# Ceilable +# ===----------------------------------------------------------------------=== # + + +trait Ceilable: + """ + The `Ceilable` trait describes a type that defines a ceiling operation. + + Types that conform to `Ceilable` will work with the builtin `ceil` + function. The ceiling operation always returns the same type as the input. + + For example: + ```mojo + from math import Ceilable, ceil + + @value + struct Complex(Ceilable): + var re: Float64 + var im: Float64 + + fn __ceil__(self) -> Self: + return Self(ceil(self.re), ceil(self.im)) + ``` + """ + + # TODO(MOCO-333): Reconsider the signature when we have parametric traits or + # associated types. + fn __ceil__(self) -> Self: + """Return the ceiling of the Int value, which is itself. + + Returns: + The Int value itself. + """ + ... + + +# ===----------------------------------------------------------------------=== # +# Floorable +# ===----------------------------------------------------------------------=== # + + +trait Floorable: + """ + The `Floorable` trait describes a type that defines a floor operation. + + Types that conform to `Floorable` will work with the builtin `floor` + function. The floor operation always returns the same type as the input. + + For example: + ```mojo + from math import Floorable, floor + + @value + struct Complex(Floorable): + var re: Float64 + var im: Float64 + + fn __floor__(self) -> Self: + return Self(floor(self.re), floor(self.im)) + ``` + """ + + # TODO(MOCO-333): Reconsider the signature when we have parametric traits or + # associated types. + fn __floor__(self) -> Self: + """Return the floor of the Int value, which is itself. + + Returns: + The Int value itself. + """ + ... + + +# ===----------------------------------------------------------------------=== # +# CeilDivable +# ===----------------------------------------------------------------------=== # + + +trait CeilDivable: + """ + The `CeilDivable` trait describes a type that defines a ceil division + operation. + + Types that conform to `CeilDivable` will work with the `math.ceildiv` + function. + + For example: + ```mojo + from math import CeilDivable + + @value + struct Foo(CeilDivable): + var x: Float64 + + fn __floordiv__(self, other: Self) -> Self: + return self.x // other.x + + fn __rfloordiv__(self, other: Self) -> Self: + return other // self + + fn __neg__(self) -> Self: + return -self.x + ``` + """ + + # TODO(MOCO-333): Reconsider these signatures when we have parametric traits + # or associated types. + @doc_private + fn __floordiv__(self, other: Self) -> Self: + ... + + @doc_private + fn __rfloordiv__(self, other: Self) -> Self: + ... + + @doc_private + fn __neg__(self) -> Self: + ... + + +trait CeilDivableRaising: + """ + The `CeilDivable` trait describes a type that define a floor division and + negation operation that can raise. + + Types that conform to `CeilDivableRaising` will work with the `//` operator + as well as the `math.ceildiv` function. + + For example: + ```mojo + from math import CeilDivableRaising + + @value + struct Foo(CeilDivableRaising): + var x: object + + fn __floordiv__(self, other: Self) raises -> Self: + return self.x // other.x + + fn __rfloordiv__(self, other: Self) raises -> Self: + return other // self + + fn __neg__(self) raises -> Self: + return -self.x + ``` + """ + + # TODO(MOCO-333): Reconsider these signatures when we have parametric traits + # or associated types. + @doc_private + fn __floordiv__(self, other: Self) raises -> Self: + ... + + @doc_private + fn __rfloordiv__(self, other: Self) raises -> Self: + ... + + @doc_private + fn __neg__(self) raises -> Self: + ... + + +# ===----------------------------------------------------------------------=== # +# Truncable +# ===----------------------------------------------------------------------=== # + + +trait Truncable: + """ + The `Truncable` trait describes a type that defines a truncation operation. + + Types that conform to `Truncable` will work with the builtin `trunc` + function. The truncation operation always returns the same type as the + input. + + For example: + ```mojo + from math import Truncable, trunc + + @value + struct Complex(Truncable): + var re: Float64 + var im: Float64 + + fn __trunc__(self) -> Self: + return Self(trunc(re), trunc(im)) + ``` + """ + + # TODO(MOCO-333): Reconsider the signature when we have parametric traits or + # associated types. + fn __trunc__(self) -> Self: + """Return the truncated Int value, which is itself. + + Returns: + The Int value itself. + """ + ... diff --git a/stdlib/src/memory/__init__.mojo b/stdlib/src/memory/__init__.mojo index cc226348fd..06684698a7 100644 --- a/stdlib/src/memory/__init__.mojo +++ b/stdlib/src/memory/__init__.mojo @@ -13,8 +13,8 @@ """Implements the memory package.""" from .arc import Arc -from .box import Box from .memory import memcmp, memcpy, memset, memset_zero, stack_allocation +from .owned_pointer import OwnedPointer from .pointer import AddressSpace, Pointer -from .unsafe import bitcast +from .unsafe import bitcast, pack_bits from .unsafe_pointer import UnsafePointer diff --git a/stdlib/src/memory/maybe_uninitialized.mojo b/stdlib/src/memory/maybe_uninitialized.mojo index 93c0b324c3..33689c6260 100644 --- a/stdlib/src/memory/maybe_uninitialized.mojo +++ b/stdlib/src/memory/maybe_uninitialized.mojo @@ -12,7 +12,6 @@ # ===----------------------------------------------------------------------=== # from os import abort -from builtin._documentation import doc_private struct UnsafeMaybeUninitialized[ElementType: AnyType](CollectionElementNew): diff --git a/stdlib/src/memory/memory.mojo b/stdlib/src/memory/memory.mojo index ef8d0ba1bf..633025a5d6 100644 --- a/stdlib/src/memory/memory.mojo +++ b/stdlib/src/memory/memory.mojo @@ -31,7 +31,6 @@ from sys import ( _libc as libc, ) from collections import Optional -from builtin.dtype import _integral_type_of from memory.pointer import AddressSpace, _GPUAddressSpace # ===----------------------------------------------------------------------=== # diff --git a/stdlib/src/memory/box.mojo b/stdlib/src/memory/owned_pointer.mojo similarity index 69% rename from stdlib/src/memory/box.mojo rename to stdlib/src/memory/owned_pointer.mojo index cefcf5ce1d..3976fc8c6d 100644 --- a/stdlib/src/memory/box.mojo +++ b/stdlib/src/memory/owned_pointer.mojo @@ -13,7 +13,7 @@ from memory import UnsafePointer, stack_allocation, memcpy -struct Box[T: AnyType]: +struct OwnedPointer[T: AnyType]: """A safe, owning, smart pointer. This smart pointer is designed for cases where there is clear ownership @@ -22,7 +22,7 @@ struct Box[T: AnyType]: may exist. Parameters: - T: The type to be stored in the Box[]. + T: The type to be stored in the OwnedPointer[]. """ var _inner: UnsafePointer[T, AddressSpace.GENERIC] @@ -31,58 +31,62 @@ struct Box[T: AnyType]: # Life cycle methods # ===-------------------------------------------------------------------===# - fn __init__[T: Movable](inout self: Box[T], owned value: T): - """Construct a new Box[] by moving the passed value into a new backing allocation. + fn __init__[T: Movable](inout self: OwnedPointer[T], owned value: T): + """Construct a new OwnedPointer[] by moving the passed value into a new backing allocation. Parameters: T: The type of the data to store. It is restricted to `Movable` here to allow efficient move construction. Args: - value: The value to move into the Box[]. + value: The value to move into the OwnedPointer[]. """ self._inner = UnsafePointer[T].alloc(1) self._inner.init_pointee_move(value^) - fn __init__[T: ExplicitlyCopyable](inout self: Box[T], *, copy_value: T): - """Construct a new Box[] by explicitly copying the passed value into a new backing allocation. + fn __init__[ + T: ExplicitlyCopyable + ](inout self: OwnedPointer[T], *, copy_value: T): + """Construct a new OwnedPointer[] by explicitly copying the passed value into a new backing allocation. Parameters: T: The type of the data to store. Args: - copy_value: The value to explicitly copy into the Box[]. + copy_value: The value to explicitly copy into the OwnedPointer[]. """ self._inner = UnsafePointer[T].alloc(1) self._inner.init_pointee_explicit_copy(copy_value) - fn __init__[T: Copyable, U: NoneType = None](inout self: Box[T], value: T): - """Construct a new Box[] by copying the passed value into a new backing allocation. + fn __init__[ + T: Copyable, U: NoneType = None + ](inout self: OwnedPointer[T], value: T): + """Construct a new OwnedPointer[] by copying the passed value into a new backing allocation. Parameters: T: The type of the data to store. U: A dummy type parameter, to lower the selection priority of this ctor. Args: - value: The value to copy into the Box[]. + value: The value to copy into the OwnedPointer[]. """ self._inner = UnsafePointer[T].alloc(1) self._inner.init_pointee_copy(value) fn __init__[ T: ExplicitlyCopyable - ](inout self: Box[T], *, copy_box: Box[T],): - """Construct a new Box[] by explicitly copying the value from another Box[]. + ](inout self: OwnedPointer[T], *, other: OwnedPointer[T],): + """Construct a new OwnedPointer[] by explicitly copying the value from another OwnedPointer[]. Parameters: T: The type of the data to store. Args: - copy_box: The Box[] to copy. + other: The OwnedPointer[] to copy. """ - self.__init__(copy_value=copy_box[]) + self.__init__(copy_value=other[]) fn __moveinit__(inout self, owned existing: Self): - """Move this Box[]. + """Move this OwnedPointer[]. Args: existing: The value to move. @@ -90,8 +94,8 @@ struct Box[T: AnyType]: self._inner = existing._inner existing._inner = UnsafePointer[T]() - fn __del__(owned self: Box[T]): - """Destroy the Box[].""" + fn __del__(owned self: OwnedPointer[T]): + """Destroy the OwnedPointer[].""" self._inner.destroy_pointee() self._inner.free() @@ -102,10 +106,10 @@ struct Box[T: AnyType]: fn __getitem__( ref [_, AddressSpace.GENERIC._value.value]self ) -> ref [self, AddressSpace.GENERIC._value.value] T: - """Returns a reference to the box's underlying data with parametric mutability. + """Returns a reference to the pointers's underlying data with parametric mutability. Returns: - A reference to the data underlying the Box[]. + A reference to the data underlying the OwnedPointer[]. """ # This should have a widening conversion here that allows # the mutable ref that is always (potentially unsafely) @@ -120,24 +124,25 @@ struct Box[T: AnyType]: # ===-------------------------------------------------------------------===# fn unsafe_ptr(self) -> UnsafePointer[T]: - """UNSAFE: returns the backing pointer for this Box[]. + """UNSAFE: returns the backing pointer for this OwnedPointer[]. Returns: - An UnsafePointer to the backing allocation for this Box[]. + An UnsafePointer to the backing allocation for this OwnedPointer[]. """ return self._inner - fn take[T: Movable](owned self: Box[T]) -> T: - """Move the value within the Box[] out of it, consuming the Box[] in the process. + fn take[T: Movable](owned self: OwnedPointer[T]) -> T: + """Move the value within the OwnedPointer[] out of it, consuming the + OwnedPointer[] in the process. Parameters: - T: The type of the data backing this Box[]. `take()` only exists for T: Movable + T: The type of the data backing this OwnedPointer[]. `take()` only exists for T: Movable since this consuming operation only makes sense for types that you want to avoid copying. For types that are Copy or ExplicitlyCopy but are not Movable, you can copy them through - `__getitem__` as in `var v = some_box_var[]`. + `__getitem__` as in `var v = some_ptr_var[]`. Returns: - The data that is (was) backing the Box[]. + The data that is (was) backing the OwnedPointer[]. """ var r = self._inner.take_pointee() self._inner.free() @@ -146,7 +151,8 @@ struct Box[T: AnyType]: return r^ fn steal_data(owned self) -> UnsafePointer[T]: - """Take ownership over the heap allocated pointer backing this `Box`. + """Take ownership over the heap allocated pointer backing this + `OwnedPointer`. Safety: This function is not unsafe to call, as a memory leak is not @@ -157,7 +163,7 @@ struct Box[T: AnyType]: Failure to do so will leak memory. Returns: - The pointer owned by this box. + The pointer owned by this instance. """ var ptr = self._inner diff --git a/stdlib/src/memory/pointer.mojo b/stdlib/src/memory/pointer.mojo index 167feb5f5a..62529382a1 100644 --- a/stdlib/src/memory/pointer.mojo +++ b/stdlib/src/memory/pointer.mojo @@ -19,8 +19,6 @@ from memory import Pointer ``` """ -from builtin._documentation import doc_private - # ===----------------------------------------------------------------------===# # AddressSpace # ===----------------------------------------------------------------------===# @@ -160,7 +158,7 @@ struct _GPUAddressSpace(EqualityComparable): @value @register_passable("trivial") -struct AddressSpace(EqualityComparable): +struct AddressSpace(EqualityComparable, Stringable, Writable): """Address space of the pointer.""" var _value: Int @@ -261,6 +259,31 @@ struct AddressSpace(EqualityComparable): """ return self.value() != other.value() + @always_inline("nodebug") + fn __str__(self) -> String: + """Gets a string representation of the AddressSpace. + + Returns: + The string representation of the AddressSpace. + """ + return String.write(self) + + @always_inline("nodebug") + fn write_to[W: Writer](self, inout writer: W): + """ + Formats the address space to the provided Writer. + + Parameters: + W: A type conforming to the Writable trait. + + Args: + writer: The object to write to. + """ + if self is AddressSpace.GENERIC: + writer.write("AddressSpace.GENERIC") + else: + writer.write("AddressSpace(", self.value(), ")") + # ===----------------------------------------------------------------------===# # Pointer diff --git a/stdlib/src/memory/unsafe.mojo b/stdlib/src/memory/unsafe.mojo index 93d7e2266b..82e995de53 100644 --- a/stdlib/src/memory/unsafe.mojo +++ b/stdlib/src/memory/unsafe.mojo @@ -28,18 +28,21 @@ from sys import bitwidthof @always_inline("nodebug") fn bitcast[ - new_type: DType, new_width: Int, src_type: DType, src_width: Int -](val: SIMD[src_type, src_width]) -> SIMD[new_type, new_width]: + type: DType, + width: Int, //, + new_type: DType, + new_width: Int = width, +](val: SIMD[type, width]) -> SIMD[new_type, new_width]: """Bitcasts a SIMD value to another SIMD value. Constraints: The bitwidth of the two types must be the same. Parameters: + type: The source type. + width: The source width. new_type: The target type. new_width: The target width. - src_type: The source type. - src_width: The source width. Args: val: The source value. @@ -49,13 +52,13 @@ fn bitcast[ source SIMD value. """ constrained[ - bitwidthof[SIMD[src_type, src_width]]() + bitwidthof[SIMD[type, width]]() == bitwidthof[SIMD[new_type, new_width]](), "the source and destination types must have the same bitwidth", ]() @parameter - if new_type == src_type: + if new_type == type: return rebind[SIMD[new_type, new_width]](val) return __mlir_op.`pop.bitcast`[ _type = __mlir_type[ @@ -65,45 +68,31 @@ fn bitcast[ @always_inline("nodebug") -fn bitcast[ - new_type: DType, src_type: DType -](val: SIMD[src_type, 1]) -> SIMD[new_type, 1]: - """Bitcasts a SIMD value to another SIMD value. - - Constraints: - The bitwidth of the two types must be the same. - - Parameters: - new_type: The target type. - src_type: The source type. - - Args: - val: The source value. - - Returns: - A new SIMD value with the specified type and width with a bitcopy of the - source SIMD value. - """ - constrained[ - bitwidthof[SIMD[src_type, 1]]() == bitwidthof[SIMD[new_type, 1]](), - "the source and destination types must have the same bitwidth", - ]() - - return bitcast[new_type, 1, src_type, 1](val) +fn _uint(n: Int) -> DType: + if n == 8: + return DType.uint8 + elif n == 16: + return DType.uint16 + elif n == 32: + return DType.uint32 + else: + return DType.uint64 @always_inline("nodebug") -fn bitcast[ - new_type: DType, src_width: Int -](val: SIMD[DType.bool, src_width]) -> Scalar[new_type]: +fn pack_bits[ + width: Int, //, + new_type: DType = _uint(width), +](val: SIMD[DType.bool, width]) -> Scalar[new_type]: """Packs a SIMD bool into an integer. Constraints: - The bitwidth of the two types must be the same. + The width of the bool vector must be the same as the bitwidth of the + target type. Parameters: + width: The source width. new_type: The target type. - src_width: The source width. Args: val: The source value. @@ -112,8 +101,11 @@ fn bitcast[ A new integer scalar which has the same bitwidth as the bool vector. """ constrained[ - src_width == bitwidthof[Scalar[new_type]](), - "the source and destination types must have the same bitwidth", + width == bitwidthof[Scalar[new_type]](), + ( + "the width of the bool vector must be the same as the bitwidth of" + " the target type" + ), ]() return __mlir_op.`pop.bitcast`[ diff --git a/stdlib/src/memory/unsafe_pointer.mojo b/stdlib/src/memory/unsafe_pointer.mojo index 548ea8ccbd..4b128170bd 100644 --- a/stdlib/src/memory/unsafe_pointer.mojo +++ b/stdlib/src/memory/unsafe_pointer.mojo @@ -19,7 +19,6 @@ from memory import UnsafePointer ``` """ -from builtin._documentation import doc_private from sys import alignof, sizeof, triple_is_nvidia_cuda from sys.intrinsics import ( _mlirtype_is_eq, @@ -452,6 +451,7 @@ struct UnsafePointer[ *, alignment: Int = _default_alignment[type, width](), volatile: Bool = False, + invariant: Bool = False, ](self: UnsafePointer[Scalar[type], *_, **_]) -> SIMD[type, width]: """Loads the value the pointer points to. @@ -463,6 +463,7 @@ struct UnsafePointer[ width: The size of the SIMD vector. alignment: The minimal alignment of the address. volatile: Whether the operation is volatile or not. + invariant: Whether the memory is load invariant. Returns: The loaded value. @@ -471,6 +472,10 @@ struct UnsafePointer[ constrained[ alignment > 0, "alignment must be a positive integer value" ]() + constrained[ + not volatile or volatile ^ invariant, + "both volatile and invariant cannot be set at the same time", + ]() @parameter if triple_is_nvidia_cuda() and sizeof[type]() == 1 and alignment == 1: @@ -490,21 +495,30 @@ struct UnsafePointer[ alignment = alignment.value, isVolatile = __mlir_attr.unit, ]((self + i).address) + elif invariant: + v[i] = __mlir_op.`pop.load`[ + alignment = alignment.value, + isInvariant = __mlir_attr.unit, + ]((self + i).address) else: v[i] = __mlir_op.`pop.load`[alignment = alignment.value]( (self + i).address ) return v + var address = self.bitcast[SIMD[type, width]]().address + @parameter if volatile: return __mlir_op.`pop.load`[ alignment = alignment.value, isVolatile = __mlir_attr.unit - ](self.bitcast[SIMD[type, width]]().address) + ](address) + elif invariant: + return __mlir_op.`pop.load`[ + alignment = alignment.value, isInvariant = __mlir_attr.unit + ](address) else: - return __mlir_op.`pop.load`[alignment = alignment.value]( - self.bitcast[SIMD[type, width]]().address - ) + return __mlir_op.`pop.load`[alignment = alignment.value](address) @always_inline fn load[ @@ -513,6 +527,7 @@ struct UnsafePointer[ *, alignment: Int = _default_alignment[type, width](), volatile: Bool = False, + invariant: Bool = False, ](self: UnsafePointer[Scalar[type], *_, **_], offset: Scalar) -> SIMD[ type, width ]: @@ -527,6 +542,7 @@ struct UnsafePointer[ width: The size of the SIMD vector. alignment: The minimal alignment of the address. volatile: Whether the operation is volatile or not. + invariant: Whether the memory is load invariant. Args: offset: The offset to load from. @@ -536,7 +552,10 @@ struct UnsafePointer[ """ constrained[offset.type.is_integral(), "offset must be integer"]() return self.offset(int(offset)).load[ - width=width, alignment=alignment, volatile=volatile + width=width, + alignment=alignment, + volatile=volatile, + invariant=invariant, ]() @always_inline("nodebug") @@ -547,6 +566,7 @@ struct UnsafePointer[ *, alignment: Int = _default_alignment[type, width](), volatile: Bool = False, + invariant: Bool = False, ](self: UnsafePointer[Scalar[type], *_, **_], offset: T) -> SIMD[ type, width ]: @@ -561,6 +581,7 @@ struct UnsafePointer[ width: The size of the SIMD vector. alignment: The minimal alignment of the address. volatile: Whether the operation is volatile or not. + invariant: Whether the memory is load invariant. Args: offset: The offset to load from. @@ -569,7 +590,10 @@ struct UnsafePointer[ The loaded value. """ return self.offset(offset).load[ - width=width, alignment=alignment, volatile=volatile + width=width, + alignment=alignment, + volatile=volatile, + invariant=invariant, ]() @always_inline diff --git a/stdlib/src/os/env.mojo b/stdlib/src/os/env.mojo index aece34c39c..6feb36e79b 100644 --- a/stdlib/src/os/env.mojo +++ b/stdlib/src/os/env.mojo @@ -74,4 +74,4 @@ fn getenv(name: String, default: String = "") -> String: var ptr = external_call["getenv", UnsafePointer[UInt8]](name.unsafe_ptr()) if not ptr: return default - return String(StringRef(ptr)) + return String(StringRef(ptr=ptr)) diff --git a/stdlib/src/pathlib/path.mojo b/stdlib/src/pathlib/path.mojo index 419bc93b1f..45a8c9aacf 100644 --- a/stdlib/src/pathlib/path.mojo +++ b/stdlib/src/pathlib/path.mojo @@ -46,7 +46,7 @@ fn cwd() raises -> Path: if res == UnsafePointer[c_char](): raise Error("unable to query the current directory") - return String(StringRef(buf)) + return String(StringRef(ptr=buf)) @always_inline diff --git a/stdlib/src/prelude/__init__.mojo b/stdlib/src/prelude/__init__.mojo index 7d7badc1a2..874d79cbab 100644 --- a/stdlib/src/prelude/__init__.mojo +++ b/stdlib/src/prelude/__init__.mojo @@ -134,3 +134,4 @@ from collections.string import ( from hashlib.hash import hash, Hashable from memory import Pointer, AddressSpace from utils import AsBytes, Writable, Writer +from documentation import doc_private diff --git a/stdlib/src/python/_bindings.mojo b/stdlib/src/python/_bindings.mojo index 1df9318363..47a58ba106 100644 --- a/stdlib/src/python/_bindings.mojo +++ b/stdlib/src/python/_bindings.mojo @@ -11,9 +11,9 @@ # limitations under the License. # ===----------------------------------------------------------------------=== # -from memory import UnsafePointer, Box +from memory import UnsafePointer -from sys.ffi import c_int, c_char_ptr +from sys.ffi import c_int, OpaquePointer, c_char_ptr from sys.info import sizeof from os import abort @@ -34,6 +34,30 @@ from python._cpython import ( destructor, ) + +trait ConvertibleFromPython(CollectionElement): + """Denotes a type that can attempt construction from a borrowed Python + object. + """ + + @staticmethod + fn try_from_python(obj: PythonObject) raises -> Self: + """Attempt to construct an instance of this object from a borrowed + Python value. + + Args: + obj: The Python object to convert from. + + Raises: + If conversion was not successful. + """ + ... + + +trait PythonableAndConvertibleFromPython(Pythonable, ConvertibleFromPython): + pass + + # ===-----------------------------------------------------------------------===# # Mojo Object # ===-----------------------------------------------------------------------===# @@ -190,9 +214,13 @@ fn tp_repr_wrapper[T: Pythonable](py_self: PyObjectPtr) -> PyObjectPtr: # ===-----------------------------------------------------------------------===# -fn create_wrapper_function[ +fn py_c_function_wrapper[ user_func: fn (PythonObject, TypedPythonObject["Tuple"]) -> PythonObject -]() -> PyCFunction: +](py_self_ptr: PyObjectPtr, args_ptr: PyObjectPtr,) -> PyObjectPtr: + """The instantiated type of this generic function is a `PyCFunction`, + suitable for being called from Python. + """ + # > When a C function is called from Python, it borrows references to its # > arguments from the caller. The caller owns a reference to the object, # > so the borrowed reference’s lifetime is guaranteed until the function @@ -201,52 +229,47 @@ fn create_wrapper_function[ # > # > -- https://docs.python.org/3/extending/extending.html#ownership-rules - fn wrapper(py_self_ptr: PyObjectPtr, args_ptr: PyObjectPtr) -> PyObjectPtr: - # SAFETY: - # Here we illegally (but carefully) construct _owned_ `PythonObject` - # values from the borrowed object reference arguments. We are careful - # down below to prevent the destructor for these objects from running - # so that we do not illegally decrement the reference count of these - # objects we do not own. - # - # This is valid to do, because these are passed using the `borrowed` - # argument convention to `user_func`, so logically they are treated - # as Python borrowed references. - var py_self = PythonObject(py_self_ptr) - var args = TypedPythonObject["Tuple"]( - unsafe_unchecked_from=PythonObject(args_ptr) - ) - - # SAFETY: - # Call the user provided function, and take ownership of the - # PyObjectPtr of the returned PythonObject. - var result = user_func(py_self, args).steal_data() - - # Do not destroy the provided PyObjectPtr arguments, since they - # actually have ownership of the underlying object. - __mlir_op.`lit.ownership.mark_destroyed`( - __get_mvalue_as_litref(py_self) - ) - - # SAFETY: - # Prevent `args` AND `args._obj` from being destroyed, since we don't - # own them. - # TODO: Use a `mem.forget(args^)` function here in the future. - __mlir_op.`lit.ownership.mark_destroyed`(__get_mvalue_as_litref(args)) - var _obj = args._obj^ - __mlir_op.`lit.ownership.mark_destroyed`(__get_mvalue_as_litref(_obj)) - - return result - - return wrapper + # SAFETY: + # Here we illegally (but carefully) construct _owned_ `PythonObject` + # values from the borrowed object reference arguments. We are careful + # down below to prevent the destructor for these objects from running + # so that we do not illegally decrement the reference count of these + # objects we do not own. + # + # This is valid to do, because these are passed using the `borrowed` + # argument convention to `user_func`, so logically they are treated + # as Python borrowed references. + var py_self = PythonObject(py_self_ptr) + var args = TypedPythonObject["Tuple"]( + unsafe_unchecked_from=PythonObject(args_ptr) + ) + + # SAFETY: + # Call the user provided function, and take ownership of the + # PyObjectPtr of the returned PythonObject. + var result = user_func(py_self, args).steal_data() + + # Do not destroy the provided PyObjectPtr arguments, since they + # actually have ownership of the underlying object. + __mlir_op.`lit.ownership.mark_destroyed`(__get_mvalue_as_litref(py_self)) + + # SAFETY: + # Prevent `args` AND `args._obj` from being destroyed, since we don't + # own them. + # TODO: Use a `mem.forget(args^)` function here in the future. + __mlir_op.`lit.ownership.mark_destroyed`(__get_mvalue_as_litref(args)) + var _obj = args._obj^ + __mlir_op.`lit.ownership.mark_destroyed`(__get_mvalue_as_litref(_obj)) + + return result # Wrap a `raises` function -fn create_wrapper_function[ +fn py_c_function_wrapper[ user_func: fn ( PythonObject, TypedPythonObject["Tuple"] ) raises -> PythonObject -]() -> PyCFunction: +](py_self_ptr: PyObjectPtr, py_args_ptr: PyObjectPtr) -> PyObjectPtr: fn wrapper( py_self: PythonObject, args: TypedPythonObject["Tuple"] ) -> PythonObject: @@ -272,8 +295,8 @@ fn create_wrapper_function[ # Does this lead to multiple levels of indirect function calls for # `raises` functions? Could we fix that by marking `wrapper` here as # `@always_inline`? - # Call the non-`raises` overload of `create_wrapper_function`. - return create_wrapper_function[wrapper]() + # Call the non-`raises` overload of `py_c_function_wrapper`. + return py_c_function_wrapper[wrapper](py_self_ptr, py_args_ptr) fn check_arguments_arity( @@ -332,17 +355,12 @@ fn check_argument_type[ ](type_name_id) if not opt: - var cpython = _get_global_python_itf().cpython() - - var actual_type = cpython.Py_TYPE(obj.unsafe_as_py_object_ptr()) - var actual_type_name = PythonObject(cpython.PyType_GetName(actual_type)) - raise Error( String.format( "TypeError: {}() expected Mojo '{}' type argument, got '{}'", func_name, type_name_id, - str(actual_type_name), + obj._get_type_name(), ) ) diff --git a/stdlib/src/python/_cpython.mojo b/stdlib/src/python/_cpython.mojo index cf4995cb2e..69d1f56f00 100644 --- a/stdlib/src/python/_cpython.mojo +++ b/stdlib/src/python/_cpython.mojo @@ -40,7 +40,7 @@ from python._bindings import Typed_initproc, PyMojoObject, Pythonable from memory import UnsafePointer -from utils import StringRef +from utils import StringRef, StringSlice # ===-----------------------------------------------------------------------===# @@ -61,13 +61,13 @@ alias Py_tp_repr = 66 alias Py_TPFLAGS_DEFAULT = 0 -# TODO(MSTDL-892): Change this to alias ffi.C_ssize_t -alias Py_ssize_t = Int +alias Py_ssize_t = c_ssize_t # TODO(MOCO-1138): # This should be a C ABI function pointer, not a Mojo ABI function. alias PyCFunction = fn (PyObjectPtr, PyObjectPtr) -> PyObjectPtr -"""See https://docs.python.org/3/c-api/structures.html#c.PyCFunction.""" +"""[Reference](https://docs.python.org/3/c-api/structures.html#c.PyCFunction). +""" alias METH_VARARGS = 0x1 @@ -85,10 +85,11 @@ alias newfunc = fn (PyObjectPtr, PyObjectPtr, PyObjectPtr) -> PyObjectPtr struct PyGILState_STATE: """Represents the state of the Python Global Interpreter Lock (GIL). - This struct is used to store and manage the state of the GIL, - which is crucial for thread-safe operations in Python. - - See https://github.com/python/cpython/blob/d45225bd66a8123e4a30314c627f2586293ba532/Include/pystate.h#L76 + Notes: + This struct is used to store and manage the state of the GIL, which is + crucial for thread-safe operations in Python. [Reference]( + https://github.com/python/cpython/blob/d45225bd66a8123e4a30314c627f2586293ba532/Include/pystate.h#L76 + ). """ var current_state: c_int @@ -202,9 +203,7 @@ struct PyObjectPtr: expected_type_name: StringLiteral, ) -> Optional[UnsafePointer[T]]: var cpython = _get_global_python_itf().cpython() - var type = cpython.Py_TYPE(self) - var type_name = PythonObject(cpython.PyType_GetName(type)) # FIXME(MSTDL-978): @@ -254,9 +253,7 @@ struct PyObjectPtr: @value @register_passable struct PythonVersion: - """ - Represents a Python version with major, minor, and patch numbers. - """ + """Represents a Python version with major, minor, and patch numbers.""" var major: Int """The major version number.""" @@ -295,38 +292,42 @@ struct PythonVersion: fn _py_get_version(lib: DLHandle) -> StringRef: - var version_string = lib.get_function[fn () -> UnsafePointer[c_char]]( - "Py_GetVersion" - )() - return StringRef(version_string) + return StringRef(ptr=lib.call["Py_GetVersion", UnsafePointer[c_char]]()) fn _py_finalize(lib: DLHandle): - lib.get_function[fn () -> None]("Py_Finalize")() + lib.call["Py_Finalize"]() -# Ref https://docs.python.org/3/c-api/structures.html#c.PyMethodDef @value struct PyMethodDef: - """Represents a Python method definition. + """Represents a Python method definition. This struct is used to define + methods for Python modules or types. - This struct is used to define methods for Python modules or types. + Notes: + [Reference]( + https://docs.python.org/3/c-api/structures.html#c.PyMethodDef + ). """ # ===-------------------------------------------------------------------===# # Fields # ===-------------------------------------------------------------------===# - var method_name: UnsafePointer[c_char] # called ml_name in CPython - """A pointer to the name of the method as a C string.""" + var method_name: UnsafePointer[c_char] + """A pointer to the name of the method as a C string. + + Notes: + called `ml_name` in CPython. + """ # TODO(MSTDL-887): Support keyword-argument only methods var method_impl: PyCFunction """A function pointer to the implementation of the method.""" - # See https://docs.python.org/3/c-api/structures.html#c.PyMethodDef for the various calling conventions var method_flags: c_int - """Flags indicating how the method should be called.""" + """Flags indicating how the method should be called. [Reference]( + https://docs.python.org/3/c-api/structures.html#c.PyMethodDef).""" var method_docstring: UnsafePointer[c_char] """A pointer to the docstring for the method as a C string.""" @@ -359,8 +360,7 @@ struct PyMethodDef: func_name: StringLiteral, docstring: StringLiteral = "", ]() -> Self: - """ - Create a PyMethodDef for a function. + """Create a PyMethodDef for a function. Parameters: func: The function to wrap. @@ -383,10 +383,10 @@ fn _null_fn_ptr[T: AnyTrivialRegType]() -> T: struct PyTypeObject: - """ - The opaque C structure of the objects used to describe types. + """The opaque C structure of the objects used to describe types. - See https://docs.python.org/3/c-api/type.html#c.PyTypeObject + Notes: + [Reference](https://docs.python.org/3/c-api/type.html#c.PyTypeObject). """ # TODO(MSTDL-877): @@ -398,10 +398,10 @@ struct PyTypeObject: @value @register_passable("trivial") struct PyType_Spec: - """ - Structure defining a type’s behavior. + """Structure defining a type's behavior. - See https://docs.python.org/3/c-api/type.html#c.PyType_Spec + Notes: + [Reference](https://docs.python.org/3/c-api/type.html#c.PyType_Spec). """ var name: UnsafePointer[c_char] @@ -414,11 +414,11 @@ struct PyType_Spec: @value @register_passable("trivial") struct PyType_Slot: - """ - Structure defining optional functionality of a type, containing a slot ID + """Structure defining optional functionality of a type, containing a slot ID and a value pointer. - See https://docs.python.org/3/c-api/type.html#c.PyType_Slot + Notes: + [Reference](https://docs.python.org/3/c-api/type.html#c.PyType_Slot). """ var slot: c_int @@ -451,16 +451,19 @@ struct PyType_Slot: @value struct PyObject(Stringable, Representable, Writable): - """ - All object types are extensions of this type. This is a type which contains the information Python needs to treat a pointer to an object as an object. In a normal “release” build, it contains only the object’s reference count and a pointer to the corresponding type object. Nothing is actually declared to be a PyObject, but every pointer to a Python object can be cast to a PyObject*. - - See https://docs.python.org/3/c-api/structures.html#c.PyObject + """All object types are extensions of this type. This is a type which + contains the information Python needs to treat a pointer to an object as an + object. In a normal “release” build, it contains only the object's reference + count and a pointer to the corresponding type object. Nothing is actually + declared to be a PyObject, but every pointer to a Python object can be cast + to a PyObject. + + Notes: + [Reference](https://docs.python.org/3/c-api/structures.html#c.PyObject). """ var object_ref_count: Int - # FIXME: should we use `PyObjectPtr`? I don't think so! var object_type: UnsafePointer[PyTypeObject] - # var object_type: PyObjectPtr fn __init__(inout self): self.object_ref_count = 0 @@ -478,7 +481,8 @@ struct PyObject(Stringable, Representable, Writable): @no_inline fn __repr__(self) -> String: - """Get the `PyObject` as a string. Returns the same `String` as `__str__`. + """Get the `PyObject` as a string. Returns the same `String` as + `__str__`. Returns: A string representation. @@ -490,8 +494,7 @@ struct PyObject(Stringable, Representable, Writable): # ===-------------------------------------------------------------------===# fn write_to[W: Writer](self, inout writer: W): - """ - Formats to the provided Writer. + """Formats to the provided Writer. Parameters: W: A type conforming to the Writable trait. @@ -506,24 +509,33 @@ struct PyObject(Stringable, Representable, Writable): writer.write(")") -# Ref: https://github.com/python/cpython/blob/833c58b81ebec84dc24ef0507f8c75fe723d9f66/Include/moduleobject.h#L39 -# Ref2: https://pyo3.rs/main/doc/pyo3/ffi/struct.pymoduledef_base # Mojo doesn't have macros, so we define it here for ease. -# Note: `PyModuleDef_HEAD_INIT` defaults all of its members, see https://github.com/python/cpython/blob/833c58b81ebec84dc24ef0507f8c75fe723d9f66/Include/moduleobject.h#L60 struct PyModuleDef_Base(Stringable, Representable, Writable): - # The initial segment of every `PyObject` in CPython + """PyModuleDef_Base. + + Notes: + [Reference 1]( + https://github.com/python/cpython/blob/833c58b81ebec84dc24ef0507f8c75fe723d9f66/Include/moduleobject.h#L39 + ). [Reference 2]( + https://pyo3.rs/main/doc/pyo3/ffi/struct.pymoduledef_base + ). `PyModuleDef_HEAD_INIT` defaults all of its members, [Reference 3]( + https://github.com/python/cpython/blob/833c58b81ebec84dc24ef0507f8c75fe723d9f66/Include/moduleobject.h#L60 + ). + """ + var object_base: PyObject + """The initial segment of every `PyObject` in CPython.""" - # The function used to re-initialize the module. # TODO(MOCO-1138): This is a C ABI function pointer, not Mojo a function. alias _init_fn_type = fn () -> UnsafePointer[PyObject] + """The function used to re-initialize the module.""" var init_fn: Self._init_fn_type - # The module's index into its interpreter's modules_by_index cache. var index: Py_ssize_t + """The module's index into its interpreter's modules_by_index cache.""" - # A copy of the module's __dict__ after the first time it was loaded. var dict_copy: UnsafePointer[PyObject] + """A copy of the module's __dict__ after the first time it was loaded.""" # ===------------------------------------------------------------------=== # # Life cycle methods @@ -557,7 +569,8 @@ struct PyModuleDef_Base(Stringable, Representable, Writable): @no_inline fn __repr__(self) -> String: - """Get the PyMdouleDef_Base as a string. Returns the same `String` as `__str__`. + """Get the PyMdouleDef_Base as a string. Returns the same `String` as + `__str__`. Returns: A string representation. @@ -569,8 +582,7 @@ struct PyModuleDef_Base(Stringable, Representable, Writable): # ===-------------------------------------------------------------------===# fn write_to[W: Writer](self, inout writer: W): - """ - Formats to the provided Writer. + """Formats to the provided Writer. Parameters: W: A type conforming to the Writable trait. @@ -589,8 +601,8 @@ struct PyModuleDef_Base(Stringable, Representable, Writable): @value struct PyModuleDef_Slot: - """ - See https://docs.python.org/3/c-api/module.html#c.PyModuleDef_Slot. + """[Reference]( + https://docs.python.org/3/c-api/module.html#c.PyModuleDef_Slot). """ var slot: c_int @@ -598,26 +610,27 @@ struct PyModuleDef_Slot: struct PyModuleDef(Stringable, Representable, Writable): - """ - The Python module definition structs that holds all of the information needed - to create a module. + """The Python module definition structs that holds all of the information + needed to create a module. - See https://docs.python.org/3/c-api/module.html#c.PyModuleDef + Notes: + [Reference](https://docs.python.org/3/c-api/module.html#c.PyModuleDef). """ var base: PyModuleDef_Base - # See https://docs.python.org/3/c-api/structures.html#c.PyMethodDef var name: UnsafePointer[c_char] + """[Reference](https://docs.python.org/3/c-api/structures.html#c.PyMethodDef + ).""" - # Points to the contents of the docstring for the module. var docstring: UnsafePointer[c_char] + """Points to the contents of the docstring for the module.""" var size: Py_ssize_t - # A pointer to a table of module-level functions. Can be null if there - # are no functions present. var methods: UnsafePointer[PyMethodDef] + """A pointer to a table of module-level functions. Can be null if there + are no functions present.""" var slots: UnsafePointer[PyModuleDef_Slot] @@ -675,7 +688,8 @@ struct PyModuleDef(Stringable, Representable, Writable): @no_inline fn __repr__(self) -> String: - """Get the PyMdouleDef as a string. Returns the same `String` as `__str__`. + """Get the PyMdouleDef as a string. Returns the same `String` as + `__str__`. Returns: A string representation. @@ -687,8 +701,7 @@ struct PyModuleDef(Stringable, Representable, Writable): # ===-------------------------------------------------------------------===# fn write_to[W: Writer](self, inout writer: W): - """ - Formats to the provided Writer. + """Formats to the provided Writer. Parameters: W: A type conforming to the Writable trait. @@ -710,10 +723,9 @@ struct PyModuleDef(Stringable, Representable, Writable): writer.write(")") +@value struct CPython: - """ - Handle to the CPython interpreter present in the current process. - """ + """Handle to the CPython interpreter present in the current process.""" # ===-------------------------------------------------------------------===# # Fields @@ -760,8 +772,7 @@ struct CPython: # TODO(MOCO-772) Allow raises to propagate through function pointers # and make this initialization a raising function. self.init_error = external_call[ - "KGEN_CompilerRT_Python_SetPythonPath", - UnsafePointer[c_char], + "KGEN_CompilerRT_Python_SetPythonPath", UnsafePointer[c_char] ]() var python_lib = getenv("MOJO_PYTHON_LIBRARY") @@ -777,24 +788,14 @@ struct CPython: if not self.init_error: if not self.lib.check_symbol("Py_Initialize"): self.init_error = "compatible Python library not found" - self.lib.get_function[fn () -> None]("Py_Initialize")() + self.lib.call["Py_Initialize"]() self.version = PythonVersion(_py_get_version(self.lib)) - _ = self.Py_None() - _ = self.PyDict_Type() else: self.version = PythonVersion(0, 0, 0) fn __del__(owned self): pass - fn __copyinit__(inout self, existing: Self): - self.lib = existing.lib - self.dict_type = existing.dict_type - self.logging_enabled = existing.logging_enabled - self.version = existing.version - self.total_ref_count = existing.total_ref_count - self.init_error = existing.init_error - @staticmethod fn destroy(inout existing: CPython): if existing.logging_enabled: @@ -814,7 +815,7 @@ struct CPython: raise an error if one occurred when initializing the global CPython. """ if self.init_error: - var error: String = self.init_error + var error = String(self.init_error) var mojo_python = getenv("MOJO_PYTHON") var python_lib = getenv("MOJO_PYTHON_LIBRARY") var python_exe = getenv("PYTHONEXECUTABLE") @@ -869,19 +870,22 @@ struct CPython: self.total_ref_count.init_pointee_move(v - 1) fn Py_IncRef(inout self, ptr: PyObjectPtr): - """See https://docs.python.org/3/c-api/refcounting.html#c.Py_IncRef.""" + """[Reference]( + https://docs.python.org/3/c-api/refcounting.html#c.Py_IncRef). + """ self.log(ptr._get_ptr_as_int(), " INCREF refcnt:", self._Py_REFCNT(ptr)) - self.lib.get_function[fn (PyObjectPtr) -> None]("Py_IncRef")(ptr) + self.lib.call["Py_IncRef"](ptr) self._inc_total_rc() fn Py_DecRef(inout self, ptr: PyObjectPtr): - """See https://docs.python.org/3/c-api/refcounting.html#c.Py_DecRef.""" + """[Reference]( + https://docs.python.org/3/c-api/refcounting.html#c.Py_DecRef). + """ self.log(ptr._get_ptr_as_int(), " DECREF refcnt:", self._Py_REFCNT(ptr)) - - self.lib.get_function[fn (PyObjectPtr) -> None]("Py_DecRef")(ptr) + self.lib.call["Py_DecRef"](ptr) self._dec_total_rc() # This function assumes a specific way PyObjectPtr is implemented, namely @@ -912,43 +916,42 @@ struct CPython: # ===-------------------------------------------------------------------===# fn PyGILState_Ensure(inout self) -> PyGILState_STATE: - """See https://docs.python.org/3/c-api/init.html#c.PyGILState_Ensure.""" - - return self.lib.get_function[fn () -> PyGILState_STATE]( - "PyGILState_Ensure" - )() + """[Reference]( + https://docs.python.org/3/c-api/init.html#c.PyGILState_Ensure). + """ + return self.lib.call["PyGILState_Ensure", PyGILState_STATE]() fn PyGILState_Release(inout self, state: PyGILState_STATE): - """See https://docs.python.org/3/c-api/init.html#c.PyGILState_Release. + """[Reference]( + https://docs.python.org/3/c-api/init.html#c.PyGILState_Release). """ - - self.lib.get_function[fn (PyGILState_STATE) -> None]( - "PyGILState_Release" - )(state) + self.lib.call["PyGILState_Release"](state) fn PyEval_SaveThread(inout self) -> UnsafePointer[PyThreadState]: - """See https://docs.python.org/3/c-api/init.html#c.PyEval_SaveThread.""" + """[Reference]( + https://docs.python.org/3/c-api/init.html#c.PyEval_SaveThread). + """ - return self.lib.get_function[fn () -> UnsafePointer[PyThreadState]]( - "PyEval_SaveThread" - )() + return self.lib.call[ + "PyEval_SaveThread", UnsafePointer[PyThreadState] + ]() fn PyEval_RestoreThread(inout self, state: UnsafePointer[PyThreadState]): - """See https://docs.python.org/3/c-api/init.html#c.PyEval_RestoreThread. + """[Reference]( + https://docs.python.org/3/c-api/init.html#c.PyEval_RestoreThread). """ - - self.lib.get_function[fn (UnsafePointer[PyThreadState]) -> None]( - "PyEval_RestoreThread" - )(state) + self.lib.call["PyEval_RestoreThread"](state) # ===-------------------------------------------------------------------===# # Python Dict operations # ===-------------------------------------------------------------------===# fn PyDict_New(inout self) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/dict.html#c.PyDict_New.""" + """[Reference]( + https://docs.python.org/3/c-api/dict.html#c.PyDict_New). + """ - var r = self.lib.get_function[fn () -> PyObjectPtr]("PyDict_New")() + var r = self.lib.call["PyDict_New", PyObjectPtr]() self.log( r._get_ptr_as_int(), @@ -963,11 +966,11 @@ struct CPython: fn PyDict_SetItem( inout self, dict_obj: PyObjectPtr, key: PyObjectPtr, value: PyObjectPtr ) -> c_int: - """See https://docs.python.org/3/c-api/dict.html#c.PyDict_SetItem.""" + """[Reference]( + https://docs.python.org/3/c-api/dict.html#c.PyDict_SetItem). + """ - var r = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr, PyObjectPtr) -> c_int - ](StringRef("PyDict_SetItem"))(dict_obj, key, value) + var r = self.lib.call["PyDict_SetItem", c_int](dict_obj, key, value) self.log( "PyDict_SetItem, key: ", @@ -981,19 +984,20 @@ struct CPython: fn PyDict_GetItemWithError( inout self, dict_obj: PyObjectPtr, key: PyObjectPtr ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/dict.html#c.PyDict_GetItemWithError. + """[Reference]( + https://docs.python.org/3/c-api/dict.html#c.PyDict_GetItemWithError). """ - var result = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr) -> PyObjectPtr - ](StringRef("PyDict_GetItemWithError"))(dict_obj, key) - + var r = self.lib.call["PyDict_GetItemWithError", PyObjectPtr]( + dict_obj, key + ) self.log("PyDict_GetItemWithError, key: ", key._get_ptr_as_int()) - - return result + return r fn PyDict_Check(inout self, maybe_dict: PyObjectPtr) -> Bool: - """See https://docs.python.org/3/c-api/dict.html#c.PyDict_Check.""" + """[Reference]( + https://docs.python.org/3/c-api/dict.html#c.PyDict_Check). + """ var my_type = self.PyObject_Type(maybe_dict) var my_type_as_int = my_type._get_ptr_as_int() @@ -1003,28 +1007,25 @@ struct CPython: return result fn PyDict_Type(inout self) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/dict.html#c.PyDict_Type.""" + """[Reference]( + https://docs.python.org/3/c-api/dict.html#c.PyDict_Type). + """ if self.dict_type.is_null(): - self.dict_type = self.lib.get_function[PyObjectPtr]("PyDict_Type") + self.dict_type = self.lib.call["PyDict_Type", PyObjectPtr]() return self.dict_type # int PyDict_Next(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue) fn PyDict_Next( inout self, dictionary: PyObjectPtr, p: Int ) -> PyKeysValuePair: - """See https://docs.python.org/3/c-api/dict.html#c.PyDict_Next.""" + """[Reference]( + https://docs.python.org/3/c-api/dict.html#c.PyDict_Next). + """ var key = PyObjectPtr() var value = PyObjectPtr() var v = p var position = UnsafePointer[Int].address_of(v) - var result = self.lib.get_function[ - fn ( - PyObjectPtr, - UnsafePointer[Py_ssize_t], - UnsafePointer[PyObjectPtr], - UnsafePointer[PyObjectPtr], - ) -> c_int - ]("PyDict_Next")( + var result = self.lib.call["PyDict_Next", c_int]( dictionary, position, UnsafePointer.address_of(key), @@ -1063,12 +1064,11 @@ struct CPython: inout self, name: StringRef, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/import.html#c.PyImport_ImportModule. + """[Reference]( + https://docs.python.org/3/c-api/import.html#c.PyImport_ImportModule). """ - var r = self.lib.get_function[fn (UnsafePointer[UInt8]) -> PyObjectPtr]( - "PyImport_ImportModule" - )(name.data) + var r = self.lib.call["PyImport_ImportModule", PyObjectPtr](name.data) self.log( r._get_ptr_as_int(), @@ -1082,17 +1082,20 @@ struct CPython: return r fn PyImport_AddModule(inout self, name: StringRef) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/import.html#c.PyImport_AddModule. + """[Reference]( + https://docs.python.org/3/c-api/import.html#c.PyImport_AddModule). """ - return self.lib.get_function[fn (UnsafePointer[c_char]) -> PyObjectPtr]( - "PyImport_AddModule" - )(name.unsafe_ptr().bitcast[c_char]()) + return self.lib.call["PyImport_AddModule", PyObjectPtr]( + name.unsafe_ptr().bitcast[c_char]() + ) fn PyModule_Create( inout self, name: String, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/module.html#c.PyModule_Create.""" + """[Reference]( + https://docs.python.org/3/c-api/module.html#c.PyModule_Create). + """ # TODO: See https://docs.python.org/3/c-api/module.html#c.PyModule_Create # and https://github.com/pybind/pybind11/blob/a1d00916b26b187e583f3bce39cd59c3b0652c32/include/pybind11/pybind11.h#L1326 @@ -1101,10 +1104,6 @@ struct CPython: var module_def = PyModuleDef(name) module_def_ptr.init_pointee_move(module_def^) - var create_module_fn = self.lib.get_function[ - fn (UnsafePointer[PyModuleDef], Int) -> PyObjectPtr - ]("PyModule_Create2") - # TODO: set gil stuff # Note: Python automatically calls https://docs.python.org/3/c-api/module.html#c.PyState_AddModule # after the caller imports said module. @@ -1114,22 +1113,19 @@ struct CPython: # if this mismatches with the user's Python, then a `RuntimeWarning` is emitted according to the # docs. var module_api_version = 1013 - return create_module_fn(module_def_ptr, module_api_version) + return self.lib.call["PyModule_Create2", PyObjectPtr]( + module_def_ptr, module_api_version + ) fn PyModule_AddFunctions( inout self, mod: PyObjectPtr, functions: UnsafePointer[PyMethodDef], ) -> c_int: - """See https://docs.python.org/3/c-api/module.html#c.PyModule_AddFunctions. + """[Reference]( + https://docs.python.org/3/c-api/module.html#c.PyModule_AddFunctions). """ - - # int PyModule_AddFunctions(PyObject *module, PyMethodDef *functions) - var add_functions_fn = self.lib.get_function[ - fn (PyObjectPtr, UnsafePointer[PyMethodDef]) -> c_int - ]("PyModule_AddFunctions") - - return add_functions_fn(mod, functions) + return self.lib.call["PyModule_AddFunctions", c_int](mod, functions) fn PyModule_AddObjectRef( inout self, @@ -1137,23 +1133,19 @@ struct CPython: name: UnsafePointer[c_char], value: PyObjectPtr, ) -> c_int: - """See https://docs.python.org/3/c-api/module.html#c.PyModule_AddObjectRef. + """[Reference]( + https://docs.python.org/3/c-api/module.html#c.PyModule_AddObjectRef). """ - var func = self.lib.get_function[ - fn (PyObjectPtr, UnsafePointer[c_char], PyObjectPtr) -> c_int - ]("PyModule_AddObjectRef") - - return func(module, name, value) + return self.lib.call["PyModule_AddObjectRef", c_int]( + module, name, value + ) fn PyModule_GetDict(inout self, name: PyObjectPtr) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/module.html#c.PyModule_GetDict. + """[Reference]( + https://docs.python.org/3/c-api/module.html#c.PyModule_GetDict). """ - - var value = self.lib.get_function[fn (PyObjectPtr) -> PyObjectPtr]( - "PyModule_GetDict" - )(name) - return value + return self.lib.call["PyModule_GetDict", PyObjectPtr](name) # ===-------------------------------------------------------------------===# # Python Type operations @@ -1175,22 +1167,15 @@ struct CPython: fn PyType_GetName( inout self, type: UnsafePointer[PyTypeObject] ) -> PyObjectPtr: - var func = self.lib.get_function[ - fn (UnsafePointer[PyTypeObject]) -> PyObjectPtr - ]("PyType_GetName") - - return func(type) + return self.lib.call["PyType_GetName", PyObjectPtr](type) fn PyType_FromSpec( inout self, spec: UnsafePointer[PyType_Spec] ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/type.html#c.PyType_FromSpec.""" - - var func = self.lib.get_function[ - fn (UnsafePointer[PyType_Spec]) -> PyObjectPtr - ]("PyType_FromSpec") - - return func(spec) + """[Reference]( + https://docs.python.org/3/c-api/type.html#c.PyType_FromSpec). + """ + return self.lib.call["PyType_FromSpec", PyObjectPtr](spec) # ===-------------------------------------------------------------------===# # Python Evaluation @@ -1199,22 +1184,20 @@ struct CPython: fn PyRun_SimpleString(inout self, strref: StringRef) -> Bool: """Executes the given Python code. - See https://docs.python.org/3/c-api/veryhigh.html#c.PyRun_SimpleString - Args: strref: The python code to execute. Returns: `True` if the code executed successfully or `False` if the code raised an exception. + + Notes: + [Reference]( + https://docs.python.org/3/c-api/veryhigh.html#c.PyRun_SimpleString). """ - # int PyRun_SimpleString(const char *command) - var status = self.lib.get_function[fn (UnsafePointer[UInt8]) -> c_int]( - StringRef("PyRun_SimpleString") - )(strref.data) - # PyRun_SimpleString returns 0 on success and -1 if an exception was - # raised. - return status == 0 + return ( + self.lib.call["PyRun_SimpleString", c_int](strref.unsafe_ptr()) == 0 + ) fn PyRun_String( inout self, @@ -1223,12 +1206,12 @@ struct CPython: locals: PyObjectPtr, run_mode: Int, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/veryhigh.html#c.PyRun_String.""" - var result = self.lib.get_function[ - fn ( - UnsafePointer[UInt8], Int32, PyObjectPtr, PyObjectPtr - ) -> PyObjectPtr - ]("PyRun_String")(strref.data, Int32(run_mode), globals, locals) + """[Reference]( + https://docs.python.org/3/c-api/veryhigh.html#c.PyRun_String). + """ + var result = self.lib.call["PyRun_String", PyObjectPtr]( + strref.unsafe_ptr(), Int32(run_mode), globals, locals + ) self.log( result._get_ptr_as_int(), @@ -1249,21 +1232,20 @@ struct CPython: globals: PyObjectPtr, locals: PyObjectPtr, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/veryhigh.html#c.PyEval_EvalCode. + """[Reference]( + https://docs.python.org/3/c-api/veryhigh.html#c.PyEval_EvalCode). """ - var result = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr, PyObjectPtr) -> PyObjectPtr - ]("PyEval_EvalCode")(co, globals, locals) + var result = self.lib.call["PyEval_EvalCode", PyObjectPtr]( + co, globals, locals + ) self._inc_total_rc() return result fn PyEval_GetBuiltins(inout self) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/reflection.html#c.PyEval_GetBuiltins. + """[Reference]( + https://docs.python.org/3/c-api/reflection.html#c.PyEval_GetBuiltins). """ - - return self.lib.get_function[fn () -> PyObjectPtr]( - "PyEval_GetBuiltins" - )() + return self.lib.call["PyEval_GetBuiltins", PyObjectPtr]() fn Py_CompileString( inout self, @@ -1271,14 +1253,13 @@ struct CPython: filename: StringRef, compile_mode: Int, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/veryhigh.html#c.Py_CompileString. + """[Reference]( + https://docs.python.org/3/c-api/veryhigh.html#c.Py_CompileString). """ - var r = self.lib.get_function[ - fn ( - UnsafePointer[UInt8], UnsafePointer[UInt8], Int32 - ) -> PyObjectPtr - ]("Py_CompileString")(strref.data, filename.data, Int32(compile_mode)) + var r = self.lib.call["Py_CompileString", PyObjectPtr]( + strref.unsafe_ptr(), filename.unsafe_ptr(), Int32(compile_mode) + ) self._inc_total_rc() return r @@ -1291,44 +1272,42 @@ struct CPython: rhs: PyObjectPtr, lhs: PyObjectPtr, ) -> Bool: - """See https://docs.python.org/3/c-api/structures.html#c.Py_Is.""" + """[Reference]( + https://docs.python.org/3/c-api/structures.html#c.Py_Is). + """ if self.version.minor >= 10: # int Py_Is(PyObject *x, PyObject *y) - var r = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr) -> c_int - ]("Py_Is")(rhs, lhs) - return r > 0 + return self.lib.call["Py_Is", c_int](rhs, lhs) > 0 else: return rhs == lhs fn PyObject_Type(inout self, obj: PyObjectPtr) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_Type.""" + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_Type). + """ - var f = self.lib.get_function[fn (PyObjectPtr) -> PyObjectPtr]( - "PyObject_Type" - ) + var p = self.lib.call["PyObject_Type", PyObjectPtr](obj) self._inc_total_rc() - return f(obj) + return p fn PyObject_Str(inout self, obj: PyObjectPtr) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_Str.""" + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_Str). + """ - var f = self.lib.get_function[fn (PyObjectPtr) -> PyObjectPtr]( - "PyObject_Str" - ) + var p = self.lib.call["PyObject_Str", PyObjectPtr](obj) self._inc_total_rc() - return f(obj) + return p fn PyObject_GetItem( inout self, obj: PyObjectPtr, key: PyObjectPtr ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_GetItem. + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_GetItem). """ - var r = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr) -> PyObjectPtr - ]("PyObject_GetItem")(obj, key) + var r = self.lib.call["PyObject_GetItem", PyObjectPtr](obj, key) self.log( r._get_ptr_as_int(), @@ -1346,12 +1325,11 @@ struct CPython: fn PyObject_SetItem( inout self, obj: PyObjectPtr, key: PyObjectPtr, value: PyObjectPtr ) -> c_int: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_SetItem. + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_SetItem). """ - var r = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr, PyObjectPtr) -> c_int - ]("PyObject_SetItem")(obj, key, value) + var r = self.lib.call["PyObject_SetItem", c_int](obj, key, value) self.log( "PyObject_SetItem result:", @@ -1371,12 +1349,13 @@ struct CPython: obj: PyObjectPtr, name: StringRef, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_GetAttrString. + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_GetAttrString). """ - var r = self.lib.get_function[ - fn (PyObjectPtr, UnsafePointer[UInt8]) -> PyObjectPtr - ]("PyObject_GetAttrString")(obj, name.data) + var r = self.lib.call["PyObject_GetAttrString", PyObjectPtr]( + obj, name.data + ) self.log( r._get_ptr_as_int(), @@ -1394,13 +1373,13 @@ struct CPython: fn PyObject_SetAttrString( inout self, obj: PyObjectPtr, name: StringRef, new_value: PyObjectPtr ) -> c_int: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_SetAttrString. + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_SetAttrString). """ - # int PyObject_SetAttrString(PyObject *o, const char *attr_name, PyObject *v) - var r = self.lib.get_function[ - fn (PyObjectPtr, UnsafePointer[UInt8], PyObjectPtr) -> c_int - ]("PyObject_SetAttrString")(obj, name.data, new_value) + var r = self.lib.call["PyObject_SetAttrString", c_int]( + obj, name.data, new_value + ) self.log( "PyObject_SetAttrString str:", @@ -1420,12 +1399,13 @@ struct CPython: callable_obj: PyObjectPtr, args: PyObjectPtr, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/call.html#c.PyObject_CallObject. + """[Reference]( + https://docs.python.org/3/c-api/call.html#c.PyObject_CallObject). """ - var r = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr) -> PyObjectPtr - ]("PyObject_CallObject")(callable_obj, args) + var r = self.lib.call["PyObject_CallObject", PyObjectPtr]( + callable_obj, args + ) self.log( r._get_ptr_as_int(), @@ -1444,11 +1424,13 @@ struct CPython: args: PyObjectPtr, kwargs: PyObjectPtr, ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/call.html#c.PyObject_Call.""" + """[Reference]( + https://docs.python.org/3/c-api/call.html#c.PyObject_Call). + """ - var r = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr, PyObjectPtr) -> PyObjectPtr - ]("PyObject_Call")(callable_obj, args, kwargs) + var r = self.lib.call["PyObject_Call", PyObjectPtr]( + callable_obj, args, kwargs + ) self.log( r._get_ptr_as_int(), @@ -1461,50 +1443,39 @@ struct CPython: self._inc_total_rc() return r - fn PyObject_IsTrue( - inout self, - obj: PyObjectPtr, - ) -> c_int: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_IsTrue.""" - - # int PyObject_IsTrue(PyObject *o) - return self.lib.get_function[fn (PyObjectPtr) -> c_int]( - "PyObject_IsTrue" - )(obj) - - fn PyObject_Length( - inout self, - obj: PyObjectPtr, - ) -> Int: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_Length.""" + fn PyObject_IsTrue(inout self, obj: PyObjectPtr) -> c_int: + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_IsTrue). + """ + return self.lib.call["PyObject_IsTrue", c_int](obj) - return int( - self.lib.get_function[fn (PyObjectPtr) -> Int]("PyObject_Length")( - obj - ) - ) + fn PyObject_Length(inout self, obj: PyObjectPtr) -> Int: + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_Length). + """ + return int(self.lib.call["PyObject_Length", Int](obj)) fn PyObject_Hash(inout self, obj: PyObjectPtr) -> Int: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_Hash.""" - - return int( - self.lib.get_function[fn (PyObjectPtr) -> Int]("PyObject_Hash")(obj) - ) + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_Hash). + """ + return int(self.lib.call["PyObject_Hash", Int](obj)) fn PyObject_GetIter( inout self, traversablePyObject: PyObjectPtr ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/object.html#c.PyObject_GetIter. + """[Reference]( + https://docs.python.org/3/c-api/object.html#c.PyObject_GetIter). """ - var iter = self.lib.get_function[fn (PyObjectPtr) -> PyObjectPtr]( - "PyObject_GetIter" - )(traversablePyObject) + var iterator = self.lib.call["PyObject_GetIter", PyObjectPtr]( + traversablePyObject + ) self.log( - iter._get_ptr_as_int(), + iterator._get_ptr_as_int(), " NEWREF PyObject_GetIter, refcnt:", - self._Py_REFCNT(iter), + self._Py_REFCNT(iterator), "referencing ", traversablePyObject._get_ptr_as_int(), "refcnt of traversable: ", @@ -1512,18 +1483,18 @@ struct CPython: ) self._inc_total_rc() - return iter + return iterator # ===-------------------------------------------------------------------===# # Python Tuple operations # ===-------------------------------------------------------------------===# fn PyTuple_New(inout self, count: Int) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/tuple.html#c.PyTuple_New.""" + """[Reference]( + https://docs.python.org/3/c-api/tuple.html#c.PyTuple_New). + """ - var r = self.lib.get_function[fn (Int) -> PyObjectPtr]( - StringRef("PyTuple_New") - )(count) + var r = self.lib.call["PyTuple_New", PyObjectPtr](count) self.log( r._get_ptr_as_int(), @@ -1539,38 +1510,35 @@ struct CPython: fn PyTuple_GetItem( inout self, tuple: PyObjectPtr, pos: Py_ssize_t ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/tuple.html#c.PyTuple_GetItem.""" - - return self.lib.get_function[ - fn (PyObjectPtr, Py_ssize_t) -> PyObjectPtr - ]("PyTuple_GetItem")(tuple, pos) + """[Reference]( + https://docs.python.org/3/c-api/tuple.html#c.PyTuple_GetItem). + """ + return self.lib.call["PyTuple_GetItem", PyObjectPtr](tuple, pos) fn PyTuple_SetItem( - inout self, - tuple_obj: PyObjectPtr, - index: Int, - element: PyObjectPtr, + inout self, tuple_obj: PyObjectPtr, index: Int, element: PyObjectPtr ) -> c_int: - """See https://docs.python.org/3/c-api/tuple.html#c.PyTuple_SetItem.""" + """[Reference]( + https://docs.python.org/3/c-api/tuple.html#c.PyTuple_SetItem). + """ # PyTuple_SetItem steals the reference - the element object will be # destroyed along with the tuple self._dec_total_rc() - # int PyTuple_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o) - return self.lib.get_function[ - fn (PyObjectPtr, Int, PyObjectPtr) -> c_int - ](StringRef("PyTuple_SetItem"))(tuple_obj, index, element) + return self.lib.call["PyTuple_SetItem", c_int]( + tuple_obj, index, element + ) # ===-------------------------------------------------------------------===# # Python List operations # ===-------------------------------------------------------------------===# fn PyList_New(inout self, length: Int) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/list.html#c.PyList_New.""" + """[Reference]( + https://docs.python.org/3/c-api/list.html#c.PyList_New). + """ - var r = self.lib.get_function[fn (Int) -> PyObjectPtr]("PyList_New")( - length - ) + var r = self.lib.call["PyList_New", PyObjectPtr](length) self.log( r._get_ptr_as_int(), @@ -1586,33 +1554,33 @@ struct CPython: fn PyList_SetItem( inout self, list_obj: PyObjectPtr, index: Int, value: PyObjectPtr ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/list.html#c.PyList_SetItem.""" + """[Reference]( + https://docs.python.org/3/c-api/list.html#c.PyList_SetItem). + """ # PyList_SetItem steals the reference - the element object will be # destroyed along with the list self._dec_total_rc() - return self.lib.get_function[ - fn (PyObjectPtr, Int, PyObjectPtr) -> PyObjectPtr - ]("PyList_SetItem")(list_obj, index, value) + return self.lib.call["PyList_SetItem", PyObjectPtr]( + list_obj, index, value + ) fn PyList_GetItem( inout self, list_obj: PyObjectPtr, index: Int ) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/list.html#c.PyList_GetItem.""" - - return self.lib.get_function[fn (PyObjectPtr, Int) -> PyObjectPtr]( - "PyList_GetItem" - )(list_obj, index) + """[Reference]( + https://docs.python.org/3/c-api/list.html#c.PyList_GetItem). + """ + return self.lib.call["PyList_GetItem", PyObjectPtr](list_obj, index) # ===-------------------------------------------------------------------===# # Concrete Objects # ref: https://docs.python.org/3/c-api/concrete.html # ===-------------------------------------------------------------------===# - # PyObject *Py_None - # https://docs.python.org/3/c-api/none.html#c.Py_None fn Py_None(inout self) -> PyObjectPtr: - """Get a None value, of type NoneType.""" + """Get a None value, of type NoneType. [Reference]( + https://docs.python.org/3/c-api/none.html#c.Py_None).""" # Get pointer to the immortal `None` PyObject struct instance. # Note: @@ -1621,23 +1589,23 @@ struct CPython: # macros. # TODO(MSTDL-977): # Investigate doing this without hard-coding private API details. - ptr = self.lib.get_symbol[PyObject]("_Py_NoneStruct") + var ptr = self.lib.get_symbol[PyObject]("_Py_NoneStruct") if not ptr: abort("error: unable to get pointer to CPython `None` struct") return PyObjectPtr(ptr) + # ===-------------------------------------------------------------------===# # Boolean Objects - # ref: https://docs.python.org/3/c-api/bool.html + # ===-------------------------------------------------------------------===# - # PyObject *PyBool_FromLong(long v) fn PyBool_FromLong(inout self, value: c_long) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/bool.html#c.PyBool_FromLong.""" + """[Reference]( + https://docs.python.org/3/c-api/bool.html#c.PyBool_FromLong). + """ - r = self.lib.get_function[fn (c_long) -> PyObjectPtr]( - "PyBool_FromLong" - )(value) + var r = self.lib.call["PyBool_FromLong", PyObjectPtr](value) self.log( r._get_ptr_as_int(), @@ -1650,17 +1618,16 @@ struct CPython: self._inc_total_rc() return r + # ===-------------------------------------------------------------------===# # Integer Objects - # ref: https://docs.python.org/3/c-api/long.html + # ===-------------------------------------------------------------------===# - # PyObject *PyLong_FromSsize_t(Py_ssize_t v) fn PyLong_FromSsize_t(inout self, value: c_ssize_t) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/long.html#c.PyLong_FromSsize_t. + """[Reference]( + https://docs.python.org/3/c-api/long.html#c.PyLong_FromSsize_t). """ - r = self.lib.get_function[fn (c_ssize_t) -> PyObjectPtr]( - "PyLong_FromSsize_t" - )(value) + var r = self.lib.call["PyLong_FromSsize_t", PyObjectPtr](value) self.log( r._get_ptr_as_int(), @@ -1673,13 +1640,12 @@ struct CPython: self._inc_total_rc() return r - # PyObject *PyLong_FromSize_t(Py_ssize_t v) fn PyLong_FromSize_t(inout self, value: c_size_t) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/long.html#c.PyLong_FromSize_t.""" + """[Reference]( + https://docs.python.org/3/c-api/long.html#c.PyLong_FromSize_t). + """ - r = self.lib.get_function[fn (c_size_t) -> PyObjectPtr]( - "PyLong_FromSize_t" - )(value) + var r = self.lib.call["PyLong_FromSize_t", PyObjectPtr](value) self.log( r._get_ptr_as_int(), @@ -1692,25 +1658,22 @@ struct CPython: self._inc_total_rc() return r - # Py_ssize_t PyLong_AsSsize_t(PyObject *pylong) fn PyLong_AsSsize_t(inout self, py_object: PyObjectPtr) -> c_ssize_t: - """See https://docs.python.org/3/c-api/long.html#c.PyLong_AsSsize_t.""" - - return self.lib.get_function[fn (PyObjectPtr) -> c_ssize_t]( - "PyLong_AsSsize_t" - )(py_object) + """[Reference]( + https://docs.python.org/3/c-api/long.html#c.PyLong_AsSsize_t). + """ + return self.lib.call["PyLong_AsSsize_t", c_ssize_t](py_object) + # ===-------------------------------------------------------------------===# # Floating-Point Objects - # ref: https://docs.python.org/3/c-api/float.html + # ===-------------------------------------------------------------------===# - # PyObject *PyFloat_FromDouble(double v)¶ fn PyFloat_FromDouble(inout self, value: Float64) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/float.html#c.PyFloat_FromDouble. + """[Reference]( + https://docs.python.org/3/c-api/float.html#c.PyFloat_FromDouble). """ - r = self.lib.get_function[fn (Float64) -> PyObjectPtr]( - "PyFloat_FromDouble" - )(value) + var r = self.lib.call["PyFloat_FromDouble", PyObjectPtr](value) self.log( r._get_ptr_as_int(), @@ -1723,30 +1686,23 @@ struct CPython: self._inc_total_rc() return r - # double PyFloat_AsDouble(PyObject *pyfloat) fn PyFloat_AsDouble(inout self, py_object: PyObjectPtr) -> Float64: - """See https://docs.python.org/3/c-api/float.html#c.PyFloat_AsDouble.""" - - return self.lib.get_function[fn (PyObjectPtr) -> Float64]( - "PyFloat_AsDouble" - )(py_object) + """[Reference]( + https://docs.python.org/3/c-api/float.html#c.PyFloat_AsDouble). + """ + return self.lib.call["PyFloat_AsDouble", Float64](py_object) + # ===-------------------------------------------------------------------===# # Unicode Objects - # https://docs.python.org/3/c-api/unicode.html + # ===-------------------------------------------------------------------===# - # PyObject *PyUnicode_DecodeUTF8(const char *str, Py_ssize_t size, const char *errors) fn PyUnicode_DecodeUTF8(inout self, strref: StringRef) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/unicode.html#c.PyUnicode_DecodeUTF8. + """[Reference]( + https://docs.python.org/3/c-api/unicode.html#c.PyUnicode_DecodeUTF8). """ - r = self.lib.get_function[ - fn ( - UnsafePointer[c_char], - c_ssize_t, - UnsafePointer[c_char], - ) -> PyObjectPtr - ]("PyUnicode_DecodeUTF8")( - strref.data.bitcast[Int8](), + var r = self.lib.call["PyUnicode_DecodeUTF8", PyObjectPtr]( + strref.unsafe_ptr().bitcast[Int8](), strref.length, c_char_ptr("strict"), ) @@ -1762,6 +1718,27 @@ struct CPython: self._inc_total_rc() return r + fn PyUnicode_DecodeUTF8(inout self, strslice: StringSlice) -> PyObjectPtr: + """[Reference]( + https://docs.python.org/3/c-api/unicode.html#c.PyUnicode_DecodeUTF8). + """ + var r = self.lib.call["PyUnicode_DecodeUTF8", PyObjectPtr]( + strslice.unsafe_ptr().bitcast[Int8](), + strslice.byte_length(), + "strict".unsafe_cstr_ptr(), + ) + + self.log( + r._get_ptr_as_int(), + " NEWREF PyUnicode_DecodeUTF8, refcnt:", + self._Py_REFCNT(r), + ", str:", + strslice, + ) + + self._inc_total_rc() + return r + fn PySlice_FromSlice(inout self, slice: Slice) -> PyObjectPtr: # Convert Mojo Slice to Python slice parameters # Note: Deliberately avoid using `span.indices()` here and instead pass @@ -1789,19 +1766,15 @@ struct CPython: return py_slice - # const char *PyUnicode_AsUTF8AndSize(PyObject *unicode, Py_ssize_t *size) fn PyUnicode_AsUTF8AndSize(inout self, py_object: PyObjectPtr) -> StringRef: - """See https://docs.python.org/3/c-api/unicode.html#c.PyUnicode_AsUTF8AndSize. + """[Reference]( + https://docs.python.org/3/c-api/unicode.html#c.PyUnicode_AsUTF8AndSize). """ - s = StringRef() - s.data = self.lib.get_function[ - fn (PyObjectPtr, UnsafePointer[c_ssize_t]) -> UnsafePointer[c_char] - ]("PyUnicode_AsUTF8AndSize")( - py_object, UnsafePointer.address_of(s.length) - ).bitcast[ - UInt8 - ]() + var s = StringRef() + s.data = self.lib.call[ + "PyUnicode_AsUTF8AndSize", UnsafePointer[c_char] + ](py_object, UnsafePointer.address_of(s.length)).bitcast[UInt8]() return s # ===-------------------------------------------------------------------===# @@ -1809,32 +1782,26 @@ struct CPython: # ===-------------------------------------------------------------------===# fn PyErr_Clear(inout self): - """See https://docs.python.org/3/c-api/exceptions.html#c.PyErr_Clear.""" - - self.lib.get_function[fn () -> None]("PyErr_Clear")() + """[Reference]( + https://docs.python.org/3/c-api/exceptions.html#c.PyErr_Clear). + """ + self.lib.call["PyErr_Clear"]() fn PyErr_Occurred(inout self) -> Bool: - """See https://docs.python.org/3/c-api/exceptions.html#c.PyErr_Occurred. + """[Reference]( + https://docs.python.org/3/c-api/exceptions.html#c.PyErr_Occurred). """ - - var value = self.lib.get_function[fn () -> PyObjectPtr]( - "PyErr_Occurred" - )() - return not value.is_null() + return not self.lib.call["PyErr_Occurred", PyObjectPtr]().is_null() fn PyErr_Fetch(inout self) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/exceptions.html#c.PyErr_Fetch.""" + """[Reference]( + https://docs.python.org/3/c-api/exceptions.html#c.PyErr_Fetch). + """ var type = PyObjectPtr() var value = PyObjectPtr() var traceback = PyObjectPtr() - var func = self.lib.get_function[ - fn ( - UnsafePointer[PyObjectPtr], - UnsafePointer[PyObjectPtr], - UnsafePointer[PyObjectPtr], - ) -> None - ]("PyErr_Fetch")( + self.lib.call["PyErr_Fetch"]( UnsafePointer.address_of(type), UnsafePointer.address_of(value), UnsafePointer.address_of(traceback), @@ -1853,30 +1820,21 @@ struct CPython: _ = traceback return r - fn PyErr_SetNone( - inout self, - type: PyObjectPtr, - ): - """See https://docs.python.org/3/c-api/exceptions.html#c.PyErr_SetNone. + fn PyErr_SetNone(inout self, type: PyObjectPtr): + """[Reference]( + https://docs.python.org/3/c-api/exceptions.html#c.PyErr_SetNone). """ - - var func = self.lib.get_function[fn (PyObjectPtr) -> None]( - "PyErr_SetNone" - ) - - return func(type) + self.lib.call["PyErr_SetNone"](type) fn PyErr_SetString( inout self, type: PyObjectPtr, message: UnsafePointer[c_char], ): - """See https://docs.python.org/3/c-api/exceptions.html#c.PyErr_SetString. + """[Reference]( + https://docs.python.org/3/c-api/exceptions.html#c.PyErr_SetString). """ - - self.lib.get_function[fn (PyObjectPtr, UnsafePointer[c_char]) -> None]( - "PyErr_SetString" - )(type, message) + self.lib.call["PyErr_SetString"](type, message) # ===-------------------------------------------------------------------===# # Python Error types @@ -1886,14 +1844,13 @@ struct CPython: inout self, global_name: StringLiteral, ) -> PyObjectPtr: - """Get a Python borrowed reference to the specified global exception object. + """Get a Python borrowed reference to the specified global exception + object. """ # Get pointer to the immortal `global_name` PyObject struct # instance. - var ptr: UnsafePointer[PyObjectPtr] = self.lib.get_symbol[PyObjectPtr]( - global_name - ) + var ptr = self.lib.get_symbol[PyObjectPtr](global_name) if not ptr: abort( @@ -1909,11 +1866,11 @@ struct CPython: # ===-------------------------------------------------------------------===# fn PyIter_Next(inout self, iterator: PyObjectPtr) -> PyObjectPtr: - """See https://docs.python.org/3/c-api/iter.html#c.PyIter_Next.""" + """[Reference]( + https://docs.python.org/3/c-api/iter.html#c.PyIter_Next). + """ - var next_obj = self.lib.get_function[fn (PyObjectPtr) -> PyObjectPtr]( - "PyIter_Next" - )(iterator) + var next_obj = self.lib.call["PyIter_Next", PyObjectPtr](iterator) self.log( next_obj._get_ptr_as_int(), @@ -1930,36 +1887,28 @@ struct CPython: return next_obj fn PyIter_Check(inout self, obj: PyObjectPtr) -> Bool: - """See https://docs.python.org/3/c-api/iter.html#c.PyIter_Check.""" - - # int PyIter_Check(PyObject *o) - var follows_iter_protocol = self.lib.get_function[ - fn (PyObjectPtr) -> c_int - ]("PyIter_Check")(obj) - return follows_iter_protocol != 0 + """[Reference]( + https://docs.python.org/3/c-api/iter.html#c.PyIter_Check). + """ + return self.lib.call["PyIter_Check", c_int](obj) != 0 - # int PySequence_Check(PyObject *o) fn PySequence_Check(inout self, obj: PyObjectPtr) -> Bool: - """See https://docs.python.org/3/c-api/sequence.html#c.PySequence_Check. + """[Reference]( + https://docs.python.org/3/c-api/sequence.html#c.PySequence_Check). """ - - var follows_seq_protocol = self.lib.get_function[ - fn (PyObjectPtr) -> c_int - ]("PySequence_Check")(obj) - return follows_seq_protocol != 0 + return self.lib.call["PySequence_Check", c_int](obj) != 0 # ===-------------------------------------------------------------------===# # Python Slice Creation # ===-------------------------------------------------------------------===# - # PyObject *PySlice_New(PyObject *start, PyObject *stop, PyObject *step) - # ref: https://docs.python.org/3/c-api/slice.html#c.PySlice_New fn PySlice_New( inout self, start: PyObjectPtr, stop: PyObjectPtr, step: PyObjectPtr ) -> PyObjectPtr: - var r = self.lib.get_function[ - fn (PyObjectPtr, PyObjectPtr, PyObjectPtr) -> PyObjectPtr - ]("PySlice_New")(start, stop, step) + """[Reference]( + https://docs.python.org/3/c-api/slice.html#c.PySlice_New). + """ + var r = self.lib.call["PySlice_New", PyObjectPtr](start, stop, step) self.log( r._get_ptr_as_int(), diff --git a/stdlib/src/python/python.mojo b/stdlib/src/python/python.mojo index 446166cf95..b27a630ce5 100644 --- a/stdlib/src/python/python.mojo +++ b/stdlib/src/python/python.mojo @@ -29,7 +29,13 @@ from memory import UnsafePointer from utils import StringRef from .python_object import PythonObject, TypedPythonObject -from ._cpython import CPython, Py_eval_input, Py_file_input, PyMethodDef +from ._cpython import ( + CPython, + Py_eval_input, + Py_file_input, + PyMethodDef, + Py_ssize_t, +) fn _init_global(ignored: OpaquePointer) -> OpaquePointer: @@ -436,3 +442,34 @@ struct Python: `PythonObject` representing `None`. """ return PythonObject(None) + + # ===-------------------------------------------------------------------===# + # Checked Conversions + # ===-------------------------------------------------------------------===# + + @staticmethod + fn py_long_as_ssize_t(obj: PythonObject) raises -> Py_ssize_t: + """Get the value of a Python `long` object. + + Args: + obj: The Python `long` object. + + Raises: + If `obj` is not a Python `long` object, or if the `long` object + value overflows `Py_ssize_t`. + + Returns: + The value of the `long` object as a `Py_ssize_t`. + """ + var cpython = Python().impl.cpython() + + var long: Py_ssize_t = cpython.PyLong_AsSsize_t( + obj.unsafe_as_py_object_ptr() + ) + + # Disambiguate if this is an error return setinel, or a legitimate + # value. + if long == -1: + Python.throw_python_exception_if_error_state(cpython) + + return long diff --git a/stdlib/src/python/python_object.mojo b/stdlib/src/python/python_object.mojo index 13715b01f4..05397a1c75 100644 --- a/stdlib/src/python/python_object.mojo +++ b/stdlib/src/python/python_object.mojo @@ -19,7 +19,6 @@ from python import PythonObject ``` """ -from builtin._documentation import doc_private from sys.intrinsics import _type_is_eq from memory import UnsafePointer @@ -106,7 +105,7 @@ struct _PyIter(Sized): return current @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: @@ -414,10 +413,7 @@ struct PythonObject( string: The string value. """ cpython = _get_global_python_itf().cpython() - self.py_object = cpython.PyUnicode_DecodeUTF8( - string._strref_dangerous() - ) - string._strref_keepalive() + self.py_object = cpython.PyUnicode_DecodeUTF8(string.as_string_slice()) fn __init__[*Ts: CollectionElement](inout self, value: ListLiteral[*Ts]): """Initialize the object from a list literal. @@ -537,6 +533,20 @@ struct PythonObject( var cpython = _get_global_python_itf().cpython() cpython.Py_IncRef(self.py_object) + fn __del__(owned self): + """Destroy the object. + + This decrements the underlying refcount of the pointed-to object. + """ + var cpython = _get_global_python_itf().cpython() + # Acquire GIL such that __del__ can be called safely for cases where the + # PyObject is handled in non-python contexts. + var state = cpython.PyGILState_Ensure() + if not self.py_object.is_null(): + cpython.Py_DecRef(self.py_object) + self.py_object = PyObjectPtr() + cpython.PyGILState_Release(state) + # ===-------------------------------------------------------------------===# # Operator dunders # ===-------------------------------------------------------------------===# @@ -555,47 +565,6 @@ struct PythonObject( Python.throw_python_exception_if_error_state(cpython) return _PyIter(PythonObject(iter)) - # ===-------------------------------------------------------------------===# - # Methods - # ===-------------------------------------------------------------------===# - - fn unsafe_as_py_object_ptr(self) -> PyObjectPtr: - """Get the underlying PyObject pointer. - - Returns: - The underlying PyObject pointer. - - Safety: - Use-after-free: The caller must take care that `self` outlives the - usage of the pointer returned by this function. - """ - return self.py_object - - fn steal_data(owned self) -> PyObjectPtr: - """Take ownership of the underlying pointer from the Python object. - - Returns: - The underlying data. - """ - var ptr = self.py_object - self.py_object = PyObjectPtr() - - return ptr - - fn __del__(owned self): - """Destroy the object. - - This decrements the underlying refcount of the pointed-to object. - """ - var cpython = _get_global_python_itf().cpython() - # Acquire GIL such that __del__ can be called safely for cases where the - # PyObject is handled in non-python contexts. - var state = cpython.PyGILState_Ensure() - if not self.py_object.is_null(): - cpython.Py_DecRef(self.py_object) - self.py_object = PyObjectPtr() - cpython.PyGILState_Release(state) - fn __getattr__(self, name: StringLiteral) raises -> PythonObject: """Return the value of the object attribute with the given name. @@ -673,47 +642,6 @@ struct PythonObject( """ return not (self is other) - fn __len__(self) raises -> Int: - """Returns the length of the object. - - Returns: - The length of the object. - """ - var cpython = _get_global_python_itf().cpython() - var result = cpython.PyObject_Length(self.py_object) - if result == -1: - # TODO: Improve error message so we say - # "object of type 'int' has no len()" function to match Python - raise Error("object has no len()") - return result - - fn __hash__(self) -> UInt: - """Returns the length of the object. - - Returns: - The length of the object. - """ - var cpython = _get_global_python_itf().cpython() - var result = cpython.PyObject_Length(self.py_object) - # TODO: make this function raise when we can raise parametrically. - debug_assert(result != -1, "object is not hashable") - return result - - fn __hash__[H: _Hasher](self, inout hasher: H): - """Updates hasher with this python object hash value. - - Parameters: - H: The hasher type. - - Args: - hasher: The hasher instance. - """ - var cpython = _get_global_python_itf().cpython() - var result = cpython.PyObject_Hash(self.py_object) - # TODO: make this function raise when we can raise parametrically. - debug_assert(result != -1, "object is not hashable") - hasher.update(result) - fn __getitem__(self, *args: PythonObject) raises -> PythonObject: """Return the value for the given key or keys. @@ -1382,9 +1310,6 @@ struct PythonObject( """ return self._call_zero_arg_method("__invert__") - fn _get_ptr_as_int(self) -> Int: - return self.py_object._get_ptr_as_int() - # see https://github.com/python/cpython/blob/main/Objects/call.c # for decrement rules fn __call__( @@ -1416,7 +1341,7 @@ struct PythonObject( var dict_obj = cpython.PyDict_New() for entry in kwargs.items(): var key = cpython.PyUnicode_DecodeUTF8( - entry[].key._strref_dangerous() + entry[].key.as_string_slice() ) var result = cpython.PyDict_SetItem( dict_obj, key, entry[].value.py_object @@ -1442,6 +1367,51 @@ struct PythonObject( ) return PythonObject(result) + # ===-------------------------------------------------------------------===# + # Trait implementations + # ===-------------------------------------------------------------------===# + + fn __len__(self) raises -> Int: + """Returns the length of the object. + + Returns: + The length of the object. + """ + var cpython = _get_global_python_itf().cpython() + var result = cpython.PyObject_Length(self.py_object) + if result == -1: + # TODO: Improve error message so we say + # "object of type 'int' has no len()" function to match Python + raise Error("object has no len()") + return result + + fn __hash__(self) -> UInt: + """Returns the length of the object. + + Returns: + The length of the object. + """ + var cpython = _get_global_python_itf().cpython() + var result = cpython.PyObject_Length(self.py_object) + # TODO: make this function raise when we can raise parametrically. + debug_assert(result != -1, "object is not hashable") + return result + + fn __hash__[H: _Hasher](self, inout hasher: H): + """Updates hasher with this python object hash value. + + Parameters: + H: The hasher type. + + Args: + hasher: The hasher instance. + """ + var cpython = _get_global_python_itf().cpython() + var result = cpython.PyObject_Hash(self.py_object) + # TODO: make this function raise when we can raise parametrically. + debug_assert(result != -1, "object is not hashable") + hasher.update(result) + fn __index__(self) -> Int: """Returns an index representation of the object. @@ -1477,26 +1447,6 @@ struct PythonObject( """ return self.__float__() - fn unsafe_get_as_pointer[type: DType](self) -> UnsafePointer[Scalar[type]]: - """Convert a Python-owned and managed pointer into a Mojo pointer. - - Warning: converting from an integer to a pointer is unsafe! The - compiler assumes the resulting pointer DOES NOT alias any Mojo-derived - pointer. This is OK because the pointer originates from Python. - - Parameters: - type: The desired DType of the pointer. - - Returns: - An `UnsafePointer` for the underlying Python data. - """ - var tmp = int(self) - var result = UnsafePointer.address_of(tmp).bitcast[ - UnsafePointer[Scalar[type]] - ]()[] - _ = tmp - return result - fn __str__(self) -> String: """Returns a string representation of the object. @@ -1529,6 +1479,64 @@ struct PythonObject( # TODO: Avoid this intermediate String allocation, if possible. writer.write(str(self)) + # ===-------------------------------------------------------------------===# + # Methods + # ===-------------------------------------------------------------------===# + + fn unsafe_as_py_object_ptr(self) -> PyObjectPtr: + """Get the underlying PyObject pointer. + + Returns: + The underlying PyObject pointer. + + Safety: + Use-after-free: The caller must take care that `self` outlives the + usage of the pointer returned by this function. + """ + return self.py_object + + fn steal_data(owned self) -> PyObjectPtr: + """Take ownership of the underlying pointer from the Python object. + + Returns: + The underlying data. + """ + var ptr = self.py_object + self.py_object = PyObjectPtr() + + return ptr + + fn unsafe_get_as_pointer[type: DType](self) -> UnsafePointer[Scalar[type]]: + """Convert a Python-owned and managed pointer into a Mojo pointer. + + Warning: converting from an integer to a pointer is unsafe! The + compiler assumes the resulting pointer DOES NOT alias any Mojo-derived + pointer. This is OK because the pointer originates from Python. + + Parameters: + type: The desired DType of the pointer. + + Returns: + An `UnsafePointer` for the underlying Python data. + """ + var tmp = int(self) + var result = UnsafePointer.address_of(tmp).bitcast[ + UnsafePointer[Scalar[type]] + ]()[] + _ = tmp + return result + + fn _get_ptr_as_int(self) -> Int: + return self.py_object._get_ptr_as_int() + + fn _get_type_name(self) -> String: + var cpython = Python().impl.cpython() + + var actual_type = cpython.Py_TYPE(self.unsafe_as_py_object_ptr()) + var actual_type_name = PythonObject(cpython.PyType_GetName(actual_type)) + + return str(actual_type_name) + # ===-----------------------------------------------------------------------===# # Helper functions diff --git a/stdlib/src/sys/_assembly.mojo b/stdlib/src/sys/_assembly.mojo index 4429d45c4e..6cb2123393 100644 --- a/stdlib/src/sys/_assembly.mojo +++ b/stdlib/src/sys/_assembly.mojo @@ -13,7 +13,6 @@ """This module includes the inlined_assembly function.""" from sys.intrinsics import _mlirtype_is_eq -from builtin.builtin_list import _LITRefPackHelper # ===----------------------------------------------------------------------===# # 0-arg @@ -29,7 +28,7 @@ fn inlined_assembly[ has_side_effect: Bool = True, ](*arguments: *types) -> result_type: """Generates assembly via inline assembly.""" - var loaded_pack = _LITRefPackHelper(arguments._value).get_loaded_kgen_pack() + var loaded_pack = arguments.get_loaded_kgen_pack() @parameter if _mlirtype_is_eq[result_type, NoneType](): diff --git a/stdlib/src/sys/ffi.mojo b/stdlib/src/sys/ffi.mojo index 904534d2eb..2bb1a415ec 100644 --- a/stdlib/src/sys/ffi.mojo +++ b/stdlib/src/sys/ffi.mojo @@ -19,7 +19,6 @@ from utils import StringRef from .info import os_is_linux, os_is_windows, is_64bit, os_is_macos from .intrinsics import _mlirtype_is_eq -from builtin.builtin_list import _LITRefPackHelper from sys._libc import dlerror, dlopen, dlclose, dlsym @@ -353,6 +352,47 @@ struct DLHandle(CollectionElement, CollectionElementNew, Boolable): return res + @always_inline + fn call[ + name: StringLiteral, + return_type: AnyTrivialRegType = NoneType, + *T: AnyType, + ](self, *args: *T) -> return_type: + """Call a function with any amount of arguments. + + Parameters: + name: The name of the function. + return_type: The return type of the function. + T: The types of `args`. + + Args: + args: The arguments. + + Returns: + The result. + """ + return self.call[name, return_type](args) + + fn call[ + name: StringLiteral, return_type: AnyTrivialRegType = NoneType + ](self, args: VariadicPack[element_trait=AnyType]) -> return_type: + """Call a function with any amount of arguments. + + Parameters: + name: The name of the function. + return_type: The return type of the function. + + Args: + args: The arguments. + + Returns: + The result. + """ + + debug_assert(self.check_symbol(name), "symbol not found: " + name) + var v = args.get_loaded_kgen_pack() + return self.get_function[fn (__type_of(v)) -> return_type](name)(v) + # ===----------------------------------------------------------------------===# # Library Load @@ -440,7 +480,7 @@ fn external_call[ # The argument pack will contain references for each value in the pack, # but we want to pass their values directly into the C printf call. Load # all the members of the pack. - var loaded_pack = _LITRefPackHelper(arguments._value).get_loaded_kgen_pack() + var loaded_pack = arguments.get_loaded_kgen_pack() @parameter if _mlirtype_is_eq[type, NoneType](): @@ -482,7 +522,7 @@ fn _external_call_const[ # The argument pack will contain references for each value in the pack, # but we want to pass their values directly into the C printf call. Load # all the members of the pack. - var loaded_pack = _LITRefPackHelper(arguments._value).get_loaded_kgen_pack() + var loaded_pack = arguments.get_loaded_kgen_pack() return __mlir_op.`pop.external_call`[ func = callee.value, diff --git a/stdlib/src/sys/info.mojo b/stdlib/src/sys/info.mojo index c7bf9d5c3c..79281887b4 100644 --- a/stdlib/src/sys/info.mojo +++ b/stdlib/src/sys/info.mojo @@ -28,6 +28,15 @@ fn _current_target() -> __mlir_type.`!kgen.target`: return __mlir_attr.`#kgen.param.expr : !kgen.target` +fn _get_arch[target: __mlir_type.`!kgen.target`]() -> String: + return __mlir_attr[ + `#kgen.param.expr : !kgen.string`, + ] + + @always_inline("nodebug") fn _current_arch() -> __mlir_type.`!kgen.string`: return __mlir_attr[ @@ -411,7 +420,7 @@ fn _is_sm_8x() -> Bool: @always_inline("nodebug") fn _is_sm_9x() -> Bool: - return triple_is_nvidia_cuda["sm_90"]() or triple_is_nvidia_cuda["sm_9a"]() + return triple_is_nvidia_cuda["sm_90"]() or triple_is_nvidia_cuda["sm_90a"]() @always_inline("nodebug") diff --git a/stdlib/src/sys/intrinsics.mojo b/stdlib/src/sys/intrinsics.mojo index 036be0aff6..d5ceafdfb0 100644 --- a/stdlib/src/sys/intrinsics.mojo +++ b/stdlib/src/sys/intrinsics.mojo @@ -21,7 +21,6 @@ from sys import PrefetchLocality from .info import sizeof, triple_is_nvidia_cuda from ._assembly import inlined_assembly -from builtin.builtin_list import _LITRefPackHelper import math from memory import AddressSpace, UnsafePointer @@ -55,7 +54,7 @@ fn llvm_intrinsic[ The result of calling the llvm intrinsic with no arguments. """ - var loaded_pack = _LITRefPackHelper(arguments._value).get_loaded_kgen_pack() + var loaded_pack = arguments.get_loaded_kgen_pack() @parameter if _mlirtype_is_eq[type, NoneType](): diff --git a/stdlib/src/utils/_utf8_validation.mojo b/stdlib/src/utils/_utf8_validation.mojo index 53c0a257df..800ed5626b 100644 --- a/stdlib/src/utils/_utf8_validation.mojo +++ b/stdlib/src/utils/_utf8_validation.mojo @@ -27,6 +27,7 @@ https://github.com/simdutf/SimdUnicode/blob/main/src/UTF8.cs from memory import UnsafePointer from sys.intrinsics import llvm_intrinsic +from builtin.simd import _sub_with_saturation alias TOO_SHORT: UInt8 = 1 << 0 alias TOO_LONG: UInt8 = 1 << 1 @@ -91,16 +92,6 @@ fn _extract_vector[ return a.join(b).slice[width, offset=offset]() -@always_inline("nodebug") -fn _sub_with_saturation[ - width: Int, // -](a: SIMD[DType.uint8, width], b: SIMD[DType.uint8, width]) -> SIMD[ - DType.uint8, width -]: - # generates a single `vpsubusb` on x86 with AVX - return llvm_intrinsic["llvm.usub.sat", __type_of(a)](a, b) - - fn validate_chunk[ simd_size: Int ]( @@ -132,12 +123,11 @@ fn validate_chunk[ return must23_as_80 ^ sc -fn _is_valid_utf8(ptr: UnsafePointer[UInt8], length: Int) -> Bool: +fn _is_valid_utf8(span: Span[Byte]) -> Bool: """Verify that the bytes are valid UTF-8. Args: - ptr: The pointer to the data. - length: The length of the items pointed to. + span: The Span of bytes. Returns: Whether the data is valid UTF-8. @@ -158,6 +148,9 @@ fn _is_valid_utf8(ptr: UnsafePointer[UInt8], length: Int) -> Bool: U+40000..U+FFFFF | F1..F3 | 80..BF | 80..BF | 80..BF | U+100000..U+10FFFF | F4 | 80..***8F***| 80..BF | 80..BF | """ + + ptr = span.unsafe_ptr() + length = len(span) alias simd_size = sys.simdbytewidth() var i: Int = 0 var previous = SIMD[DType.uint8, simd_size]() diff --git a/stdlib/src/utils/index.mojo b/stdlib/src/utils/index.mojo index 054f2a85bd..93eb5dbc8d 100644 --- a/stdlib/src/utils/index.mojo +++ b/stdlib/src/utils/index.mojo @@ -22,7 +22,6 @@ from utils import IndexList from sys import bitwidthof from builtin.dtype import _int_type_of_width, _uint_type_of_width -from builtin._documentation import doc_private from builtin.io import _get_dtype_printf_format, _snprintf from collections.string import _calc_initial_buffer_size @@ -80,7 +79,7 @@ fn _int_tuple_binary_apply[ for i in range(a.size): var a_elem = a.__getitem__[i]() var b_elem = b.__getitem__[i]() - c.__setitem__[i](binary_fn[a._int_dtype](a_elem, b_elem)) + c.__setitem__[i](binary_fn[a.element_type](a_elem, b_elem)) return c @@ -111,7 +110,7 @@ fn _int_tuple_compare[ for i in range(a.size): var a_elem = a.__getitem__[i]() var b_elem = b.__getitem__[i]() - c.__setitem__[i](comp_fn[a._int_dtype](a_elem, b_elem)) + c.__setitem__[i](comp_fn[a.element_type](a_elem, b_elem)) return c @@ -185,10 +184,10 @@ struct IndexList[ unsigned: Whether the integer is signed or unsigned. """ - alias _int_dtype = _type_of_width[element_bitwidth, unsigned]() + alias element_type = _type_of_width[element_bitwidth, unsigned]() """The underlying dtype of the integer element value.""" - alias _int_type = Scalar[Self._int_dtype] + alias _int_type = Scalar[Self.element_type] """The underlying storage of the integer element value.""" var data: StaticTuple[Self._int_type, size] @@ -775,9 +774,9 @@ struct IndexList[ @parameter for i in range(size): res.data[i] = rebind[__type_of(result.data).element_type]( - rebind[Scalar[Self._int_dtype]]( + rebind[Scalar[Self.element_type]]( self.data.__getitem__[i]() - ).cast[result._int_dtype]() + ).cast[result.element_type]() ) return res diff --git a/stdlib/src/utils/numerics.mojo b/stdlib/src/utils/numerics.mojo index a52594be68..6c7133008a 100644 --- a/stdlib/src/utils/numerics.mojo +++ b/stdlib/src/utils/numerics.mojo @@ -152,6 +152,7 @@ struct FPUtils[ Returns: The sign mask. """ + # convert to `Int` first to bypass overflow check return 1 << int(Self.exponent_width() + Self.mantissa_width()) @staticmethod @@ -171,12 +172,12 @@ struct FPUtils[ fn exponent_mantissa_mask() -> Int: """Returns the exponent and mantissa mask of a floating point type. - It is computed by `exponent_mask + mantissa_mask`. + It is computed by `exponent_mask | mantissa_mask`. Returns: The exponent and mantissa mask. """ - return Self.exponent_mask() + Self.mantissa_mask() + return Self.exponent_mask() | Self.mantissa_mask() @staticmethod @always_inline diff --git a/stdlib/src/utils/span.mojo b/stdlib/src/utils/span.mojo index 305b4d1381..af417ee09f 100644 --- a/stdlib/src/utils/span.mojo +++ b/stdlib/src/utils/span.mojo @@ -79,7 +79,7 @@ struct _SpanIter[ return Pointer.address_of(self.src[self.index]) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 @always_inline diff --git a/stdlib/src/utils/string_slice.mojo b/stdlib/src/utils/string_slice.mojo index c7fbd8a76c..49fe2fab06 100644 --- a/stdlib/src/utils/string_slice.mojo +++ b/stdlib/src/utils/string_slice.mojo @@ -13,7 +13,9 @@ """Implements the StringSlice type. -You can import these APIs from the `utils.string_slice` module. For example: +You can import these APIs from the `utils.string_slice` module. + +Examples: ```mojo from utils import StringSlice @@ -24,9 +26,11 @@ from bit import count_leading_zeros from utils import Span from collections.string import _isspace, _atol, _atof from collections import List, Optional -from memory import memcmp, UnsafePointer +from memory import memcmp, UnsafePointer, memcpy from sys import simdwidthof, bitwidthof +from sys.intrinsics import unlikely from memory.memory import _memcmp_impl_unconstrained +from ._utf8_validation import _is_valid_utf8 alias StaticString = StringSlice[StaticConstantOrigin] """An immutable static string slice.""" @@ -66,6 +70,22 @@ fn _unicode_codepoint_utf8_byte_length(c: Int) -> Int: return int((sizes < c).cast[DType.uint8]().reduce_add()) +@always_inline +fn _utf8_first_byte_sequence_length(b: Byte) -> Int: + """Get the length of the sequence starting with given byte. Do note that + this does not work correctly if given a continuation byte.""" + + debug_assert( + (b & 0b1100_0000) != 0b1000_0000, + ( + "Function `_utf8_first_byte_sequence_length()` does not work" + " correctly if given a continuation byte." + ), + ) + var flipped = ~b + return int(count_leading_zeros(flipped) + (flipped >> 7)) + + fn _shift_unicode_to_utf8(ptr: UnsafePointer[UInt8], c: Int, num_bytes: Int): """Shift unicode to utf8 representation. @@ -148,51 +168,13 @@ fn _memrmem[ return UnsafePointer[Scalar[type]]() -fn _is_newline_start( - ptr: UnsafePointer[UInt8], read_ahead: Int = 1 -) -> (Bool, Int): - """Returns if the first item in the pointer is the start of - a newline sequence, and its length. - """ - # TODO add line and paragraph separator as StringLiteral - # once Unicode escape sequences are accepted - alias ` ` = UInt8(ord(" ")) - var rn = "\r\n" - var next_line = List[UInt8](0xC2, 0x85) - """TODO: \\x85""" - var unicode_line_sep = List[UInt8](0xE2, 0x80, 0xA8) - """TODO: \\u2028""" - var unicode_paragraph_sep = List[UInt8](0xE2, 0x80, 0xA9) - """TODO: \\u2029""" - - var val = _utf8_byte_type(ptr[0]) - if val == 0: - if read_ahead > 1: - if memcmp(ptr, rn.unsafe_ptr(), 2) == 0: - return True, 2 - _ = rn - return ptr[0] != ` ` and _isspace(ptr[0]), 1 - elif val == 2 and read_ahead > 1: - var comp = memcmp(ptr, next_line.unsafe_ptr(), 2) == 0 - _ = next_line - return comp, 2 - elif val == 3 and read_ahead > 2: - var comp = ( - memcmp(ptr, unicode_line_sep.unsafe_ptr(), 3) == 0 - or memcmp(ptr, unicode_paragraph_sep.unsafe_ptr(), 3) == 0 - ) - _ = unicode_line_sep, unicode_paragraph_sep - return comp, 3 - return False, 1 - - @value struct _StringSliceIter[ is_mutable: Bool, //, origin: Origin[is_mutable].type, forward: Bool = True, ]: - """Iterator for StringSlice + """Iterator for `StringSlice` over unicode characters. Parameters: is_mutable: Whether the slice is mutable. @@ -248,7 +230,7 @@ struct _StringSliceIter[ ) @always_inline - fn __hasmore__(self) -> Bool: + fn __has_next__(self) -> Bool: return self.__len__() > 0 fn __len__(self) -> Int: @@ -268,15 +250,15 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( CollectionElementNew, Hashable, ): - """ - A non-owning view to encoded string data. - - TODO: - The underlying string data is guaranteed to be encoded using UTF-8. + """A non-owning view to encoded string data. Parameters: is_mutable: Whether the slice is mutable. origin: The origin of the underlying string data. + + Notes: + TODO: The underlying string data is guaranteed to be encoded using + UTF-8. """ var _slice: Span[Byte, origin] @@ -286,13 +268,11 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( # ===------------------------------------------------------------------===# @always_inline - fn __init__( - inout self: StringSlice[StaticConstantOrigin], lit: StringLiteral - ): - """Construct a new string slice from a string literal. + fn __init__(inout self: StaticString, lit: StringLiteral): + """Construct a new `StringSlice` from a `StringLiteral`. Args: - lit: The literal to construct this string slice from. + lit: The literal to construct this `StringSlice` from. """ # Since a StringLiteral has static origin, it will outlive # whatever arbitrary `origin` the user has specified they need this @@ -301,40 +281,39 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( # StringLiteral is guaranteed to use UTF-8 encoding. # FIXME(MSTDL-160): # Ensure StringLiteral _actually_ always uses UTF-8 encoding. - # TODO(#933): use when llvm intrinsics can be used at compile time + # FIXME: this gets practically stuck at compile time # debug_assert( - # _is_valid_utf8(literal.unsafe_ptr(), literal.byte_length()), + # _is_valid_utf8(lit.as_bytes()), # "StringLiteral doesn't have valid UTF-8 encoding", # ) - self = StaticString( - unsafe_from_utf8_ptr=lit.unsafe_ptr(), len=lit.byte_length() - ) + self = StaticString(unsafe_from_utf8=lit.as_bytes()) @always_inline fn __init__(inout self, *, owned unsafe_from_utf8: Span[Byte, origin]): - """Construct a new StringSlice from a sequence of UTF-8 encoded bytes. + """Construct a new `StringSlice` from a sequence of UTF-8 encoded bytes. + + Args: + unsafe_from_utf8: A `Span[Byte]` encoded in UTF-8. Safety: `unsafe_from_utf8` MUST be valid UTF-8 encoded data. - - Args: - unsafe_from_utf8: A slice of bytes encoded in UTF-8. """ self._slice = unsafe_from_utf8^ fn __init__(inout self, *, unsafe_from_utf8_strref: StringRef): - """Construct a new StringSlice from a StringRef pointing to UTF-8 + """Construct a new StringSlice from a `StringRef` pointing to UTF-8 encoded bytes. + Args: + unsafe_from_utf8_strref: A `StringRef` of bytes encoded in UTF-8. + Safety: - `unsafe_from_utf8_strref` MUST point to data that is valid for `origin`. - `unsafe_from_utf8_strref` MUST be valid UTF-8 encoded data. - - Args: - unsafe_from_utf8_strref: A StringRef of bytes encoded in UTF-8. """ + var strref = unsafe_from_utf8_strref var byte_slice = Span[Byte, origin]( @@ -351,19 +330,19 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( unsafe_from_utf8_ptr: UnsafePointer[UInt8], len: Int, ): - """Construct a StringSlice from a pointer to a sequence of UTF-8 encoded - bytes and a length. + """Construct a `StringSlice` from a pointer to a sequence of UTF-8 + encoded bytes and a length. + + Args: + unsafe_from_utf8_ptr: A pointer to a sequence of bytes encoded in + UTF-8. + len: The number of bytes of encoded data. Safety: - `unsafe_from_utf8_ptr` MUST point to at least `len` bytes of valid UTF-8 encoded data. - `unsafe_from_utf8_ptr` must point to data that is live for the duration of `origin`. - - Args: - unsafe_from_utf8_ptr: A pointer to a sequence of bytes encoded in - UTF-8. - len: The number of bytes of encoded data. """ var byte_slice = Span[Byte, origin]( unsafe_ptr=unsafe_from_utf8_ptr, @@ -381,6 +360,23 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( """ self._slice = other._slice + fn __init__[ + O: ImmutableOrigin, // + ](inout self: StringSlice[O], ref [O]value: String): + """Construct an immutable StringSlice. + + Parameters: + O: The immutable origin. + + Args: + value: The string value. + """ + + debug_assert( + _is_valid_utf8(value.as_bytes()), "value is not valid utf8" + ) + self = StringSlice[O](unsafe_from_utf8=value.as_bytes()) + # ===------------------------------------------------------------------===# # Trait implementations # ===------------------------------------------------------------------===# @@ -406,11 +402,10 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( return b_len - _count_utf8_continuation_bytes(s) fn write_to[W: Writer](self, inout writer: W): - """ - Formats this string slice to the provided Writer. + """Formats this string slice to the provided `Writer`. Parameters: - W: A type conforming to the Writable trait. + W: A type conforming to the `Writable` trait. Args: writer: The object to write to. @@ -441,14 +436,13 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( # accesses to the origin. @__unsafe_disable_nested_origin_exclusivity fn __eq__(self, rhs: StringSlice) -> Bool: - """Verify if a string slice is equal to another string slice. + """Verify if a `StringSlice` is equal to another `StringSlice`. Args: - rhs: The string slice to compare against. + rhs: The `StringSlice` to compare against. Returns: - True if the string slices are equal in length and contain the same - elements, False otherwise. + If the `StringSlice` is equal to the input in length and contents. """ if not self and not rhs: return True @@ -464,80 +458,79 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( @always_inline fn __eq__(self, rhs: String) -> Bool: - """Verify if a string slice is equal to a string. + """Verify if a `StringSlice` is equal to a string. Args: - rhs: The string to compare against. + rhs: The `String` to compare against. Returns: - True if the string slice is equal to the input string in length and - contain the same bytes, False otherwise. + If the `StringSlice` is equal to the input in length and contents. """ return self == rhs.as_string_slice() @always_inline fn __eq__(self, rhs: StringLiteral) -> Bool: - """Verify if a string slice is equal to a literal. + """Verify if a `StringSlice` is equal to a literal. Args: - rhs: The literal to compare against. + rhs: The `StringLiteral` to compare against. Returns: - True if the string slice is equal to the input literal in length and - contain the same bytes, False otherwise. + If the `StringSlice` is equal to the input in length and contents. """ return self == rhs.as_string_slice() @__unsafe_disable_nested_origin_exclusivity @always_inline fn __ne__(self, rhs: StringSlice) -> Bool: - """Verify if span is not equal to another string slice. + """Verify if span is not equal to another `StringSlice`. Args: - rhs: The string slice to compare against. + rhs: The `StringSlice` to compare against. Returns: - True if the string slices are not equal in length or contents, False - otherwise. + If the `StringSlice` is not equal to the input in length and + contents. """ return not self == rhs @always_inline fn __ne__(self, rhs: String) -> Bool: - """Verify if span is not equal to another string slice. + """Verify if span is not equal to another `StringSlice`. Args: - rhs: The string slice to compare against. + rhs: The `StringSlice` to compare against. Returns: - True if the string and slice are not equal in length or contents, - False otherwise. + If the `StringSlice` is not equal to the input in length and + contents. """ return not self == rhs @always_inline fn __ne__(self, rhs: StringLiteral) -> Bool: - """Verify if span is not equal to a literal. + """Verify if span is not equal to a `StringLiteral`. Args: - rhs: The string literal to compare against. + rhs: The `StringLiteral` to compare against. Returns: - True if the slice is not equal to the literal in length or contents, - False otherwise. + If the `StringSlice` is not equal to the input in length and + contents. """ return not self == rhs @always_inline fn __lt__(self, rhs: StringSlice) -> Bool: - """Compare this StringSlice to the RHS using LT comparison. + """Verify if the `StringSlice` bytes are strictly less than the input in + overlapping content. Args: - rhs: The other StringSlice to compare against. + rhs: The other `StringSlice` to compare against. Returns: - True if this string is strictly less than the RHS string and False - otherwise. + If the `StringSlice` bytes are strictly less than the input in + overlapping content. """ var len1 = len(self) var len2 = len(rhs) @@ -621,13 +614,20 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( @always_inline fn strip(self) -> StringSlice[origin]: """Gets a StringRef with leading and trailing whitespaces removed. - This only takes C spaces into account: " \\t\\n\\r\\f\\v". - - For example, `" mojo "` returns `"mojo"`. + This only takes ASCII whitespace into account: + `" \\t\\n\\v\\f\\r\\x1c\\x1d\\x1e"`. Returns: A StringRef with leading and trailing whitespaces removed. + + Examples: + + ```mojo + print(" mojo ".strip()) # "mojo" + ``` + . """ + # FIXME: this can already do full isspace support with iterator var start: Int = 0 var end: Int = len(self) var ptr = self.unsafe_ptr() @@ -668,37 +668,19 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( return len(self.as_bytes()) - fn _strref_dangerous(self) -> StringRef: - """Returns an inner pointer to the string as a StringRef. - - Safety: - This functionality is extremely dangerous because Mojo eagerly - releases strings. Using this requires the use of the - _strref_keepalive() method to keep the underlying string alive long - enough. - """ - return StringRef(self.unsafe_ptr(), self.byte_length()) - - fn _strref_keepalive(self): - """A no-op that keeps `self` alive through the call. This - can be carefully used with `_strref_dangerous()` to wield inner pointers - without the string getting deallocated early. - """ - pass - fn startswith( self, prefix: StringSlice[_], start: Int = 0, end: Int = -1 ) -> Bool: - """Checks if the StringRef starts with the specified prefix between start - and end positions. Returns True if found and False otherwise. + """Verify if the `StringSlice` starts with the specified prefix between + start and end positions. Args: - prefix: The prefix to check. - start: The start offset from which to check. - end: The end offset from which to check. + prefix: The prefix to check. + start: The start offset from which to check. + end: The end offset from which to check. Returns: - True if the self[start:end] is prefixed by the input prefix. + True if the `self[start:end]` is prefixed by the input prefix. """ if end == -1: return self.find(prefix, start) == start @@ -709,16 +691,16 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( fn endswith( self, suffix: StringSlice[_], start: Int = 0, end: Int = -1 ) -> Bool: - """Checks if the StringRef end with the specified suffix between start - and end positions. Returns True if found and False otherwise. + """Verify if the `StringSlice` end with the specified suffix between + start and end positions. Args: - suffix: The suffix to check. - start: The start offset from which to check. - end: The end offset from which to check. + suffix: The suffix to check. + start: The start offset from which to check. + end: The end offset from which to check. Returns: - True if the self[start:end] is suffixed by the input suffix. + True if the `self[start:end]` is suffixed by the input suffix. """ if len(suffix) > len(self): return False @@ -730,10 +712,8 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( fn _from_start(self, start: Int) -> Self: """Gets the `StringSlice` pointing to the substring after the specified - slice start position. - - If start is negative, it is interpreted as the number of characters - from the end of the string to start at. + slice start position. If start is negative, it is interpreted as the + number of characters from the end of the string to start at. Args: start: Starting index of the slice. @@ -798,14 +778,14 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( fn find(ref [_]self, substr: StringSlice, start: Int = 0) -> Int: """Finds the offset of the first occurrence of `substr` starting at - `start`. If not found, returns -1. + `start`. If not found, returns `-1`. Args: - substr: The substring to find. - start: The offset from which to find. + substr: The substring to find. + start: The offset from which to find. Returns: - The offset of `substr` relative to the beginning of the string. + The offset of `substr` relative to the beginning of the string. """ if not substr: return 0 @@ -831,14 +811,14 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( fn rfind(self, substr: StringSlice, start: Int = 0) -> Int: """Finds the offset of the last occurrence of `substr` starting at - `start`. If not found, returns -1. + `start`. If not found, returns `-1`. Args: - substr: The substring to find. - start: The offset from which to find. + substr: The substring to find. + start: The offset from which to find. Returns: - The offset of `substr` relative to the beginning of the string. + The offset of `substr` relative to the beginning of the string. """ if not substr: return len(self) @@ -865,13 +845,13 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( fn isspace(self) -> Bool: """Determines whether every character in the given StringSlice is a python whitespace String. This corresponds to Python's - [universal separators]( - https://docs.python.org/3/library/stdtypes.html#str.splitlines) - `" \\t\\n\\r\\f\\v\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. + [universal separators:]( + https://docs.python.org/3/library/stdtypes.html#str.splitlines) + `" \\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. Returns: True if the whole StringSlice is made up of whitespace characters - listed above, otherwise False. + listed above, otherwise False. """ if self.byte_length() == 0: @@ -905,11 +885,67 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( _ = next_line, unicode_line_sep, unicode_paragraph_sep return True - fn splitlines(self, keepends: Bool = False) -> List[String]: + fn isnewline[single_character: Bool = False](self) -> Bool: + """Determines whether every character in the given StringSlice is a + python newline character. This corresponds to Python's + [universal newlines:]( + https://docs.python.org/3/library/stdtypes.html#str.splitlines) + `"\\r\\n"` and `"\\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. + + Parameters: + single_character: Whether to evaluate the stringslice as a single + unicode character (avoids overhead when already iterating). + + Returns: + True if the whole StringSlice is made up of whitespace characters + listed above, otherwise False. + """ + + fn _is_newline_char(s: StringSlice) -> Bool: + # sorry for readability, but this has less overhead than memcmp + # highly performance sensitive code, benchmark before touching + alias `\t` = UInt8(ord("\t")) + alias `\r` = UInt8(ord("\r")) + alias `\n` = UInt8(ord("\n")) + alias `\x1c` = UInt8(ord("\x1c")) + alias `\x1e` = UInt8(ord("\x1e")) + no_null_len = s.byte_length() + ptr = s.unsafe_ptr() + if no_null_len == 1: + v = ptr[0] + return `\t` <= v <= `\x1e` and not (`\r` < v < `\x1c`) + elif no_null_len == 2: + v0 = ptr[0] + v1 = ptr[1] + next_line = v0 == 0xC2 and v1 == 0x85 # next line: \x85 + r_n = v0 == `\r` and v1 == `\n` + return next_line or r_n + elif no_null_len == 3: + # unicode line sep or paragraph sep: \u2028 , \u2029 + v2 = ptr[2] + lastbyte = v2 == 0xA8 or v2 == 0xA9 + return ptr[0] == 0xE2 and ptr[1] == 0x80 and lastbyte + return False + + @parameter + if single_character: + return _is_newline_char(self) + else: + for s in self: + if not _is_newline_char(s): + return False + return self.byte_length() != 0 + + fn splitlines[ + O: ImmutableOrigin, // + ](self: StringSlice[O], keepends: Bool = False) -> List[StringSlice[O]]: """Split the string at line boundaries. This corresponds to Python's - [universal newlines]( - https://docs.python.org/3/library/stdtypes.html#str.splitlines) - `"\\t\\n\\r\\r\\n\\f\\v\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. + [universal newlines:]( + https://docs.python.org/3/library/stdtypes.html#str.splitlines) + `"\\r\\n"` and `"\\t\\n\\v\\f\\r\\x1c\\x1d\\x1e\\x85\\u2028\\u2029"`. + + Parameters: + O: The immutable origin. Args: keepends: If True, line breaks are kept in the resulting strings. @@ -917,43 +953,57 @@ struct StringSlice[is_mutable: Bool, //, origin: Origin[is_mutable].type,]( Returns: A List of Strings containing the input split by line boundaries. """ - var output = List[String]() - var length = self.byte_length() - var current_offset = 0 - var ptr = self.unsafe_ptr() - while current_offset < length: - var eol_location = length - current_offset - var eol_length = 0 - var curr_ptr = ptr.offset(current_offset) + alias `\r` = UInt8(ord("\r")) + alias `\n` = UInt8(ord("\n")) + alias `\t` = UInt8(ord("\t")) + alias `\x1c` = UInt8(ord("\x1c")) + alias `\x1e` = UInt8(ord("\x1e")) + output = List[StringSlice[O]](capacity=128) # guessing + ptr = self.unsafe_ptr() + length = self.byte_length() + offset = 0 + + @always_inline + @parameter + fn _is_newline_char(p: UnsafePointer[Byte], l: Int, b0: Byte) -> Bool: + # sorry for readability, but this has less overhead than memcmp + # highly performance sensitive code, benchmark before touching + if l == 1: + return `\t` <= b0 <= `\x1e` and not (`\r` < b0 < `\x1c`) + elif l == 2: + return b0 == 0xC2 and p[1] == 0x85 # next line: \x85 + elif l == 3: + # unicode line sep or paragraph sep: \u2028 , \u2029 + v2 = p[2] + lastbyte = v2 == 0xA8 or v2 == 0xA9 + return b0 == 0xE2 and p[1] == 0x80 and lastbyte + return False + + while offset < length: + eol_start = offset + eol_length = 0 - for i in range(current_offset, length): - var read_ahead = 3 if i < length - 2 else ( - 2 if i < length - 1 else 1 + while eol_start < length: + b0 = ptr[eol_start] + char_len = _utf8_first_byte_sequence_length(b0) + debug_assert( + eol_start + char_len <= length, + "corrupted sequence causing unsafe memory access", ) - var res = _is_newline_start(ptr.offset(i), read_ahead) - if res[0]: - eol_location = i - current_offset - eol_length = res[1] + isnewline = int(_is_newline_char(ptr + eol_start, char_len, b0)) + char_end = isnewline * (eol_start + char_len) + next_idx = char_end * int(char_end < length) + is_r_n = b0 == `\r` and next_idx != 0 and ptr[next_idx] == `\n` + eol_length = isnewline * char_len + int(is_r_n) + if unlikely(isnewline == 1): break + eol_start += char_len - var str_len: Int - var end_of_string = False - if current_offset >= length: - end_of_string = True - str_len = 0 - elif keepends: - str_len = eol_location + eol_length - else: - str_len = eol_location - - output.append( - String(Self(unsafe_from_utf8_ptr=curr_ptr, len=str_len)) - ) - - if end_of_string: - break - current_offset += eol_location + eol_length + str_len = eol_start - offset + int(keepends) * eol_length + s = StringSlice[O](unsafe_from_utf8_ptr=ptr + offset, len=str_len) + output.append(s^) + offset = eol_start + eol_length return output^ @@ -987,6 +1037,77 @@ trait Stringlike: ... +fn _to_string_list[ + T: CollectionElement, //, + len_fn: fn (T) -> Int, + unsafe_ptr_fn: fn (T) -> UnsafePointer[Byte], +](items: List[T]) -> List[String]: + i_len = len(items) + i_ptr = items.unsafe_ptr() + out_ptr = UnsafePointer[String].alloc(i_len) + + for i in range(i_len): + og_len = len_fn(i_ptr[i]) + f_len = og_len + 1 # null terminator + p = UnsafePointer[Byte].alloc(f_len) + og_ptr = unsafe_ptr_fn(i_ptr[i]) + memcpy(p, og_ptr, og_len) + p[og_len] = 0 # null terminator + buf = String._buffer_type(unsafe_pointer=p, size=f_len, capacity=f_len) + (out_ptr + i).init_pointee_move(String(buf^)) + return List[String](unsafe_pointer=out_ptr, size=i_len, capacity=i_len) + + +@always_inline +fn _to_string_list[ + O: ImmutableOrigin, // +](items: List[StringSlice[O]]) -> List[String]: + """Create a list of Strings **copying** the existing data. + + Parameters: + O: The origin of the data. + + Args: + items: The List of string slices. + + Returns: + The list of created strings. + """ + + fn unsafe_ptr_fn(v: StringSlice[O]) -> UnsafePointer[Byte]: + return v.unsafe_ptr() + + fn len_fn(v: StringSlice[O]) -> Int: + return v.byte_length() + + return _to_string_list[len_fn, unsafe_ptr_fn](items) + + +@always_inline +fn _to_string_list[ + O: ImmutableOrigin, // +](items: List[Span[Byte, O]]) -> List[String]: + """Create a list of Strings **copying** the existing data. + + Parameters: + O: The origin of the data. + + Args: + items: The List of Bytes. + + Returns: + The list of created strings. + """ + + fn unsafe_ptr_fn(v: Span[Byte, O]) -> UnsafePointer[Byte]: + return v.unsafe_ptr() + + fn len_fn(v: Span[Byte, O]) -> Int: + return len(v) + + return _to_string_list[len_fn, unsafe_ptr_fn](items) + + # ===----------------------------------------------------------------------===# # Format method structures # ===----------------------------------------------------------------------===# @@ -999,12 +1120,12 @@ trait _CurlyEntryFormattable(Stringable, Representable): will be less constrained. """ - pass + ... @value struct _FormatCurlyEntry(CollectionElement, CollectionElementNew): - """The struct that handles string-like formatting by curly braces entries. + """The struct that handles `Stringlike` formatting by curly braces entries. This is internal for the types: `String`, `StringLiteral` and `StringSlice`. """ @@ -1338,7 +1459,7 @@ struct _FormatCurlyEntry(CollectionElement, CollectionElementNew): @register_passable("trivial") struct _FormatSpec: """Store every field of the format specifier in a byte (e.g., ord("+") for - sign). It is stored in a byte because every [format specifier](\ + sign). It is stored in a byte because every [format specifier]( https://docs.python.org/3/library/string.html#formatspec) is an ASCII character. """ @@ -1351,15 +1472,15 @@ struct _FormatSpec: """The meaning of the various alignment options is as follows: | Option | Meaning| - |:-------|:-------| - |'<' | Forces the field to be left-aligned within the available space + |:------:|:-------| + |'<' | Forces the field to be left-aligned within the available space \ (this is the default for most objects).| - |'>' | Forces the field to be right-aligned within the available space + |'>' | Forces the field to be right-aligned within the available space \ (this is the default for numbers).| - |'=' | Forces the padding to be placed after the sign (if any) but before - the digits. This is used for printing fields in the form `+000000120`. This - alignment option is only valid for numeric types. It becomes the default for - numbers when `0` immediately precedes the field width.| + |'=' | Forces the padding to be placed after the sign (if any) but before \ + the digits. This is used for printing fields in the form `+000000120`. This\ + alignment option is only valid for numeric types. It becomes the default\ + for numbers when `0` immediately precedes the field width.| |'^' | Forces the field to be centered within the available space.| """ var sign: UInt8 @@ -1367,12 +1488,12 @@ struct _FormatSpec: following: | Option | Meaning| - |:-------|:-------| - |'+' | indicates that a sign should be used for both positive as well as + |:------:|:-------| + |'+' | indicates that a sign should be used for both positive as well as\ negative numbers.| - |'-' | indicates that a sign should be used only for negative numbers (this + |'-' | indicates that a sign should be used only for negative numbers (this\ is the default behavior).| - |space | indicates that a leading space should be used on positive numbers, + |space | indicates that a leading space should be used on positive numbers,\ and a minus sign on negative numbers.| """ var coerce_z: Bool @@ -1420,18 +1541,18 @@ struct _FormatSpec: The available integer presentation types are: | Option | Meaning| - |:-------|:-------| + |:------:|:-------| |'b' |Binary format. Outputs the number in base 2.| - |'c' |Character. Converts the integer to the corresponding unicode character - before printing.| + |'c' |Character. Converts the integer to the corresponding unicode\ + character before printing.| |'d' |Decimal Integer. Outputs the number in base 10.| |'o' |Octal format. Outputs the number in base 8.| - |'x' |Hex format. Outputs the number in base 16, using lower-case letters + |'x' |Hex format. Outputs the number in base 16, using lower-case letters\ for the digits above 9.| - |'X' |Hex format. Outputs the number in base 16, using upper-case letters - for the digits above 9. In case '#' is specified, the prefix '0x' will be + |'X' |Hex format. Outputs the number in base 16, using upper-case letters\ + for the digits above 9. In case '#' is specified, the prefix '0x' will be\ upper-cased to '0X' as well.| - |'n' |Number. This is the same as 'd', except that it uses the current + |'n' |Number. This is the same as 'd', except that it uses the current\ locale setting to insert the appropriate number separator characters.| |None | The same as 'd'.| @@ -1443,59 +1564,59 @@ struct _FormatSpec: The available presentation types for float and Decimal values are: | Option | Meaning| - |:-------|:-------| - |'e' |Scientific notation. For a given precision p, formats the number in - scientific notation with the letter `e` separating the coefficient from the - exponent. The coefficient has one digit before and p digits after the - decimal point, for a total of p + 1 significant digits. With no precision - given, uses a precision of 6 digits after the decimal point for float, and - shows all coefficient digits for Decimal. If no digits follow the decimal + |:------:|:-------| + |'e' |Scientific notation. For a given precision p, formats the number in\ + scientific notation with the letter `e` separating the coefficient from the\ + exponent. The coefficient has one digit before and p digits after the\ + decimal point, for a total of p + 1 significant digits. With no precision\ + given, uses a precision of 6 digits after the decimal point for float, and\ + shows all coefficient digits for Decimal. If no digits follow the decimal\ point, the decimal point is also removed unless the # option is used.| - |'E' |Scientific notation. Same as 'e' except it uses an upper case `E` as + |'E' |Scientific notation. Same as 'e' except it uses an upper case `E` as\ the separator character.| - |'f' |Fixed-point notation. For a given precision p, formats the number as a - decimal number with exactly p digits following the decimal point. With no - precision given, uses a precision of 6 digits after the decimal point for - float, and uses a precision large enough to show all coefficient digits for - Decimal. If no digits follow the decimal point, the decimal point is also - removed unless the # option is used.| - |'F' |Fixed-point notation. Same as 'f', but converts nan to NAN and inf to + |'f' |Fixed-point notation. For a given precision p, formats the number as\ + a decimal number with exactly p digits following the decimal point. With no\ + precision given, uses a precision of 6 digits after the decimal point for\ + float, and uses a precision large enough to show all coefficient digits for\ + Decimal. If no digits follow the decimal point, the decimal point is also\ + removed unless the '#' option is used.| + |'F' |Fixed-point notation. Same as 'f', but converts nan to NAN and inf to\ INF.| - |'g' |General format. For a given precision p >= 1, this rounds the number - to p significant digits and then formats the result in either fixed-point - format or in scientific notation, depending on its magnitude. A precision of - 0 is treated as equivalent to a precision of 1. - The precise rules are as follows: suppose that the result formatted with - presentation type 'e' and precision p-1 would have exponent exp. Then, if - m <= exp < p, where m is -4 for floats and -6 for Decimals, the number is - formatted with presentation type 'f' and precision p-1-exp. Otherwise, the - number is formatted with presentation type 'e' and precision p-1. In both - cases insignificant trailing zeros are removed from the significand, and the - decimal point is also removed if there are no remaining digits following it, - unless the '#' option is used. - With no precision given, uses a precision of 6 significant digits for float. - For Decimal, the coefficient of the result is formed from the coefficient - digits of the value; scientific notation is used for values smaller than - 1e-6 in absolute value and values where the place value of the least - significant digit is larger than 1, and fixed-point notation is used - otherwise. - Positive and negative infinity, positive and negative zero, and nans, are - formatted as inf, -inf, 0, -0 and nan respectively, regardless of the + |'g' |General format. For a given precision p >= 1, this rounds the number\ + to p significant digits and then formats the result in either fixed-point\ + format or in scientific notation, depending on its magnitude. A precision\ + of 0 is treated as equivalent to a precision of 1.\ + The precise rules are as follows: suppose that the result formatted with\ + presentation type 'e' and precision p-1 would have exponent exp. Then, if\ + m <= exp < p, where m is -4 for floats and -6 for Decimals, the number is\ + formatted with presentation type 'f' and precision p-1-exp. Otherwise, the\ + number is formatted with presentation type 'e' and precision p-1. In both\ + cases insignificant trailing zeros are removed from the significand, and\ + the decimal point is also removed if there are no remaining digits\ + following it, unless the '#' option is used.\ + With no precision given, uses a precision of 6 significant digits for\ + float. For Decimal, the coefficient of the result is formed from the\ + coefficient digits of the value; scientific notation is used for values\ + smaller than 1e-6 in absolute value and values where the place value of the\ + least significant digit is larger than 1, and fixed-point notation is used\ + otherwise.\ + Positive and negative infinity, positive and negative zero, and nans, are\ + formatted as inf, -inf, 0, -0 and nan respectively, regardless of the\ precision.| - |'G' |General format. Same as 'g' except switches to 'E' if the number gets + |'G' |General format. Same as 'g' except switches to 'E' if the number gets\ too large. The representations of infinity and NaN are uppercased, too.| - |'n' |Number. This is the same as 'g', except that it uses the current + |'n' |Number. This is the same as 'g', except that it uses the current\ locale setting to insert the appropriate number separator characters.| - |'%' |Percentage. Multiplies the number by 100 and displays in fixed ('f') + |'%' |Percentage. Multiplies the number by 100 and displays in fixed ('f')\ format, followed by a percent sign.| - |None |For float this is like the 'g' type, except that when fixed-point - notation is used to format the result, it always includes at least one digit - past the decimal point, and switches to the scientific notation when - exp >= p - 1. When the precision is not specified, the latter will be as - large as needed to represent the given value faithfully. - For Decimal, this is the same as either 'g' or 'G' depending on the value of - context.capitals for the current decimal context. - The overall effect is to match the output of str() as altered by the other + |None |For float this is like the 'g' type, except that when fixed-point\ + notation is used to format the result, it always includes at least one\ + digit past the decimal point, and switches to the scientific notation when\ + exp >= p - 1. When the precision is not specified, the latter will be as\ + large as needed to represent the given value faithfully.\ + For Decimal, this is the same as either 'g' or 'G' depending on the value\ + of context.capitals for the current decimal context.\ + The overall effect is to match the output of str() as altered by the other\ format modifiers.| """ @@ -1515,18 +1636,18 @@ struct _FormatSpec: Args: fill: Defaults to space. - align: Defaults to 0 which is adjusted to the default for the arg + align: Defaults to `0` which is adjusted to the default for the arg type. sign: Defaults to `-`. coerce_z: Defaults to False. alternate_form: Defaults to False. - width: Defaults to 0 which is adjusted to the default for the arg + width: Defaults to `0` which is adjusted to the default for the arg type. - grouping_option: Defaults to 0 which is adjusted to the default for + grouping_option: Defaults to `0` which is adjusted to the default for the arg type. - precision: Defaults to 0 which is adjusted to the default for the + precision: Defaults to `0` which is adjusted to the default for the arg type. - type: Defaults to 0 which is adjusted to the default for the arg + type: Defaults to `0` which is adjusted to the default for the arg type. """ self.fill = fill @@ -1549,12 +1670,14 @@ struct _FormatSpec: Returns: An instance of FormatSpec. """ + + alias `:` = UInt8(ord(":")) var f_len = fmt_str.byte_length() var f_ptr = fmt_str.unsafe_ptr() var colon_idx = -1 var idx = 0 while idx < f_len: - if f_ptr[idx] == ord(":"): + if f_ptr[idx] == `:`: exclamation_index = idx break idx += 1 diff --git a/stdlib/src/utils/stringref.mojo b/stdlib/src/utils/stringref.mojo index 982622a4a0..89c0bb2711 100644 --- a/stdlib/src/utils/stringref.mojo +++ b/stdlib/src/utils/stringref.mojo @@ -17,7 +17,7 @@ from bit import count_trailing_zeros from builtin.dtype import _uint_type_of_width from collections.string import _atol, _isspace from hashlib._hasher import _HashableWithHasher, _Hasher -from memory import UnsafePointer, memcmp, bitcast +from memory import UnsafePointer, memcmp, pack_bits from memory.memory import _memcmp_impl_unconstrained from utils import StringSlice from sys.ffi import c_char @@ -112,7 +112,7 @@ struct StringRef( self.length = len @always_inline - fn __init__(inout self, ptr: UnsafePointer[UInt8]): + fn __init__(inout self, *, ptr: UnsafePointer[UInt8]): """Construct a StringRef value given a null-terminated string. Args: @@ -587,7 +587,7 @@ struct StringRef( fn strip(self) -> StringRef: """Gets a StringRef with leading and trailing whitespaces removed. - This only takes C spaces into account: " \\t\\n\\r\\f\\v". + This only takes C spaces into account: " \\t\\n\\v\\f\\r". For example, `" mojo "` returns `"mojo"`. @@ -698,7 +698,7 @@ fn _memchr[ for i in range(0, vectorized_end, bool_mask_width): var bool_mask = source.load[width=bool_mask_width](i) == first_needle - var mask = bitcast[_uint_type_of_width[bool_mask_width]()](bool_mask) + var mask = pack_bits(bool_mask) if mask: return source + int(i + count_trailing_zeros(mask)) @@ -742,7 +742,7 @@ fn _memmem[ var eq_last = last_needle == last_block var bool_mask = eq_first & eq_last - var mask = bitcast[_uint_type_of_width[bool_mask_width]()](bool_mask) + var mask = pack_bits(bool_mask) while mask: var offset = int(i + count_trailing_zeros(mask)) diff --git a/stdlib/test/base64/test_base64.mojo b/stdlib/test/base64/test_base64.mojo index 0e9abc7f12..6512844905 100644 --- a/stdlib/test/base64/test_base64.mojo +++ b/stdlib/test/base64/test_base64.mojo @@ -32,6 +32,14 @@ def test_b64encode(): ) assert_equal(b64encode("ABCDEFabcdef"), "QUJDREVGYWJjZGVm") + assert_equal(b64encode("\x00\n\x14\x1e(2 StringLiteral: + for _ in range(n): + original += add + return original + + +def test_iadd(): + alias original = "mojo" + alias concat = add_literal(original, "!", 4) + assert_equal("mojo!!!!", concat) + + +def test_mul(): + alias original = "mojo" + alias concat = original * 3 + assert_equal("mojomojomojo", concat) + + def test_equality(): assert_false(StringLiteral.__eq__("five", "six")) assert_true(StringLiteral.__eq__("six", "six")) @@ -378,63 +398,41 @@ def test_split(): def test_splitlines(): + alias L = List[String] # Test with no line breaks - var in1 = "hello world" - var res1 = in1.splitlines() - assert_equal(len(res1), 1) - assert_equal(res1[0], "hello world") - - # Test with \n line break - var in2 = "hello\nworld" - var res2 = in2.splitlines() - assert_equal(len(res2), 2) - assert_equal(res2[0], "hello") - assert_equal(res2[1], "world") - - # Test with \r\n line break - var in3 = "hello\r\nworld" - var res3 = in3.splitlines() - assert_equal(len(res3), 2) - assert_equal(res3[0], "hello") - assert_equal(res3[1], "world") - - # Test with \r line break - var in4 = "hello\rworld" - var res4 = in4.splitlines() - assert_equal(len(res4), 2) - assert_equal(res4[0], "hello") - assert_equal(res4[1], "world") + assert_equal("hello world".splitlines(), L("hello world")) + + # Test with line breaks + assert_equal("hello\nworld".splitlines(), L("hello", "world")) + assert_equal("hello\rworld".splitlines(), L("hello", "world")) + assert_equal("hello\r\nworld".splitlines(), L("hello", "world")) # Test with multiple different line breaks - var in5 = "hello\nworld\r\nmojo\rlanguage" - var res5 = in5.splitlines() - assert_equal(len(res5), 4) - assert_equal(res5[0], "hello") - assert_equal(res5[1], "world") - assert_equal(res5[2], "mojo") - assert_equal(res5[3], "language") - - # Test with keepends=True - var res6 = in5.splitlines(keepends=True) - assert_equal(len(res6), 4) - assert_equal(res6[0], "hello\n") - assert_equal(res6[1], "world\r\n") - assert_equal(res6[2], "mojo\r") - assert_equal(res6[3], "language") + s1 = "hello\nworld\r\nmojo\rlanguage\r\n" + hello_mojo = L("hello", "world", "mojo", "language") + assert_equal(s1.splitlines(), hello_mojo) + assert_equal( + s1.splitlines(keepends=True), + L("hello\n", "world\r\n", "mojo\r", "language\r\n"), + ) # Test with an empty string - var in7 = "" - var res7 = in7.splitlines() - assert_equal(len(res7), 0) + assert_equal("".splitlines(), L()) + # test \v \f \x1c \x1d + s2 = "hello\vworld\fmojo\x1clanguage\x1d" + assert_equal(s2.splitlines(), hello_mojo) + assert_equal( + s2.splitlines(keepends=True), + L("hello\v", "world\f", "mojo\x1c", "language\x1d"), + ) - # test with keepends=True - var in8 = String("hello\vworld\fmojo\x1clanguage\x1d") - var res10 = in8.splitlines(keepends=True) - assert_equal(len(res10), 4) - assert_equal(res10[0], "hello\v") - assert_equal(res10[1], "world\f") - assert_equal(res10[2], "mojo\x1c") - assert_equal(res10[3], "language\x1d") + # test \x1c \x1d \x1e + s3 = "hello\x1cworld\x1dmojo\x1elanguage\x1e" + assert_equal(s3.splitlines(), hello_mojo) + assert_equal( + s3.splitlines(keepends=True), + L("hello\x1c", "world\x1d", "mojo\x1e", "language\x1e"), + ) def test_float_conversion(): @@ -446,6 +444,8 @@ def test_float_conversion(): def main(): test_add() + test_iadd() + test_mul() test_equality() test_len() test_bool() diff --git a/stdlib/test/collections/test_deque.mojo b/stdlib/test/collections/test_deque.mojo new file mode 100644 index 0000000000..8130b865f0 --- /dev/null +++ b/stdlib/test/collections/test_deque.mojo @@ -0,0 +1,381 @@ +# ===----------------------------------------------------------------------=== # +# Copyright (c) 2024, Modular Inc. All rights reserved. +# +# Licensed under the Apache License v2.0 with LLVM Exceptions: +# https://llvm.org/LICENSE.txt +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ===----------------------------------------------------------------------=== # +# RUN: %mojo %s + +from testing import assert_equal, assert_false, assert_true, assert_raises + +from collections import Deque + +# ===----------------------------------------------------------------------===# +# Implementation tests +# ===----------------------------------------------------------------------===# + + +fn test_impl_init_default() raises: + q = Deque[Int]() + + assert_equal(q._capacity, q.default_capacity) + assert_equal(q._min_capacity, q.default_capacity) + assert_equal(q._maxlen, -1) + assert_equal(q._head, 0) + assert_equal(q._tail, 0) + assert_equal(q._shrink, True) + + +fn test_impl_init_capacity() raises: + q = Deque[Int](capacity=-10) + assert_equal(q._capacity, q.default_capacity) + assert_equal(q._min_capacity, q.default_capacity) + + q = Deque[Int](capacity=0) + assert_equal(q._capacity, q.default_capacity) + assert_equal(q._min_capacity, q.default_capacity) + + q = Deque[Int](capacity=10) + assert_equal(q._capacity, 16) + assert_equal(q._min_capacity, q.default_capacity) + + q = Deque[Int](capacity=100) + assert_equal(q._capacity, 128) + assert_equal(q._min_capacity, q.default_capacity) + + +fn test_impl_init_min_capacity() raises: + q = Deque[Int](min_capacity=-10) + assert_equal(q._min_capacity, q.default_capacity) + assert_equal(q._capacity, q.default_capacity) + + q = Deque[Int](min_capacity=0) + assert_equal(q._min_capacity, q.default_capacity) + assert_equal(q._capacity, q.default_capacity) + + q = Deque[Int](min_capacity=10) + assert_equal(q._min_capacity, 16) + assert_equal(q._capacity, q.default_capacity) + + q = Deque[Int](min_capacity=100) + assert_equal(q._min_capacity, 128) + assert_equal(q._capacity, q.default_capacity) + + +fn test_impl_init_maxlen() raises: + q = Deque[Int](maxlen=-10) + assert_equal(q._maxlen, -1) + assert_equal(q._capacity, q.default_capacity) + + q = Deque[Int](maxlen=0) + assert_equal(q._maxlen, -1) + assert_equal(q._capacity, q.default_capacity) + + q = Deque[Int](maxlen=10) + assert_equal(q._maxlen, 10) + assert_equal(q._capacity, 16) + + # has to allocate two times more capacity + # when `maxlen` in a power of 2 because + # tail should always point into a free space + q = Deque[Int](maxlen=16) + assert_equal(q._maxlen, 16) + assert_equal(q._capacity, 32) + + q = Deque[Int](maxlen=100) + assert_equal(q._maxlen, 100) + assert_equal(q._capacity, q.default_capacity) + + +fn test_impl_init_shrink() raises: + q = Deque[Int](shrink=False) + assert_equal(q._shrink, False) + assert_equal(q._capacity, q.default_capacity) + + +fn test_impl_init_list() raises: + q = Deque(elements=List(0, 1, 2)) + assert_equal(q._head, 0) + assert_equal(q._tail, 3) + assert_equal(q._capacity, q.default_capacity) + assert_equal((q._data + 0)[], 0) + assert_equal((q._data + 1)[], 1) + assert_equal((q._data + 2)[], 2) + + +fn test_impl_init_list_args() raises: + q = Deque(elements=List(0, 1, 2), maxlen=2, capacity=10) + assert_equal(q._head, 0) + assert_equal(q._tail, 2) + assert_equal(q._capacity, 4) + assert_equal((q._data + 0)[], 1) + assert_equal((q._data + 1)[], 2) + + +fn test_impl_init_variadic() raises: + q = Deque(0, 1, 2) + + assert_equal(q._head, 0) + assert_equal(q._tail, 3) + assert_equal(q._capacity, q.default_capacity) + assert_equal((q._data + 0)[], 0) + assert_equal((q._data + 1)[], 1) + assert_equal((q._data + 2)[], 2) + + +fn test_impl_len() raises: + q = Deque[Int]() + + q._head = 0 + q._tail = 10 + assert_equal(len(q), 10) + + q._head = q.default_capacity - 5 + q._tail = 5 + assert_equal(len(q), 10) + + +fn test_impl_bool() raises: + q = Deque[Int]() + assert_false(q) + + q._tail = 1 + assert_true(q) + + +fn test_impl_append() raises: + q = Deque[Int](capacity=2) + + q.append(0) + assert_equal(q._head, 0) + assert_equal(q._tail, 1) + assert_equal(q._capacity, 2) + assert_equal((q._data + 0)[], 0) + + q.append(1) + assert_equal(q._head, 0) + assert_equal(q._tail, 2) + assert_equal(q._capacity, 4) + assert_equal((q._data + 0)[], 0) + assert_equal((q._data + 1)[], 1) + + q.append(2) + assert_equal(q._head, 0) + assert_equal(q._tail, 3) + assert_equal(q._capacity, 4) + assert_equal((q._data + 0)[], 0) + assert_equal((q._data + 1)[], 1) + assert_equal((q._data + 2)[], 2) + + # simulate popleft() + q._head += 1 + q.append(3) + assert_equal(q._head, 1) + # tail wrapped to the front + assert_equal(q._tail, 0) + assert_equal(q._capacity, 4) + assert_equal((q._data + 1)[], 1) + assert_equal((q._data + 2)[], 2) + assert_equal((q._data + 3)[], 3) + + q.append(4) + # re-allocated buffer and moved all elements + assert_equal(q._head, 0) + assert_equal(q._tail, 4) + assert_equal(q._capacity, 8) + assert_equal((q._data + 0)[], 1) + assert_equal((q._data + 1)[], 2) + assert_equal((q._data + 2)[], 3) + assert_equal((q._data + 3)[], 4) + + +fn test_impl_append_with_maxlen() raises: + q = Deque[Int](maxlen=3) + + assert_equal(q._maxlen, 3) + assert_equal(q._capacity, 4) + + q.append(0) + q.append(1) + q.append(2) + assert_equal(q._head, 0) + assert_equal(q._tail, 3) + + q.append(3) + # first popped the leftmost element + # so there was no re-allocation of buffer + assert_equal(q._head, 1) + assert_equal(q._tail, 0) + assert_equal(q._capacity, 4) + assert_equal((q._data + 1)[], 1) + assert_equal((q._data + 2)[], 2) + assert_equal((q._data + 3)[], 3) + + +fn test_impl_extend() raises: + q = Deque[Int](maxlen=4) + lst = List[Int](0, 1, 2) + + q.extend(lst) + assert_equal(q._head, 0) + assert_equal(q._tail, 3) + assert_equal(q._capacity, 8) + assert_equal((q._data + 0)[], 0) + assert_equal((q._data + 1)[], 1) + assert_equal((q._data + 2)[], 2) + + q.extend(lst) + # has to popleft the first 2 elements + assert_equal(q._capacity, 8) + assert_equal(q._head, 2) + assert_equal(q._tail, 6) + assert_equal((q._data + 2)[], 2) + assert_equal((q._data + 3)[], 0) + assert_equal((q._data + 4)[], 1) + assert_equal((q._data + 5)[], 2) + + # turn off `maxlen` restriction + q._maxlen = -1 + q.extend(lst) + assert_equal(q._capacity, 8) + assert_equal(q._head, 2) + assert_equal(q._tail, 1) + assert_equal((q._data + 2)[], 2) + assert_equal((q._data + 3)[], 0) + assert_equal((q._data + 4)[], 1) + assert_equal((q._data + 5)[], 2) + assert_equal((q._data + 6)[], 0) + assert_equal((q._data + 7)[], 1) + assert_equal((q._data + 0)[], 2) + + # turn on `maxlen` and force to re-allocate + q._maxlen = 8 + q.extend(lst) + assert_equal(q._capacity, 16) + assert_equal(q._head, 0) + assert_equal(q._tail, 8) + # has to popleft the first 2 elements + assert_equal((q._data + 0)[], 1) + assert_equal((q._data + 1)[], 2) + assert_equal((q._data + 6)[], 1) + assert_equal((q._data + 7)[], 2) + + # extend with the list that is longer than `maxlen` + # has to pop all deque elements and some initial + # elements from the list as well + lst = List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) + q.extend(lst) + assert_equal(q._capacity, 16) + assert_equal(q._head, 8) + assert_equal(q._tail, 0) + assert_equal((q._data + 8)[], 2) + assert_equal((q._data + 9)[], 3) + assert_equal((q._data + 14)[], 8) + assert_equal((q._data + 15)[], 9) + + +# ===----------------------------------------------------------------------===# +# API Interface tests +# ===----------------------------------------------------------------------===# + + +fn test_init_variadic_list() raises: + lst1 = List(0, 1) + lst2 = List(2, 3) + + q = Deque(lst1, lst2) + assert_equal(q[0], lst1) + assert_equal(q[1], lst2) + + lst1[0] = 4 + assert_equal(q[0], List(0, 1)) + + p = Deque(lst1^, lst2^) + assert_equal(p[0], List(4, 1)) + assert_equal(p[1], List(2, 3)) + + +fn test_copy_trivial() raises: + q = Deque(1, 2, 3) + + p = Deque(q) + assert_equal(p[0], q[0]) + + p[0] = 3 + assert_equal(p[0], 3) + assert_equal(q[0], 1) + + +fn test_copy_list() raises: + q = Deque[List[Int]]() + lst1 = List(1, 2, 3) + lst2 = List(4, 5, 6) + q.append(lst1) + q.append(lst2) + assert_equal(q[0], lst1) + + lst1[0] = 7 + assert_equal(q[0], List(1, 2, 3)) + + p = Deque(q) + assert_equal(p[0], q[0]) + + p[0][0] = 7 + assert_equal(p[0], List(7, 2, 3)) + assert_equal(q[0], List(1, 2, 3)) + + +fn test_move_list() raises: + q = Deque[List[Int]]() + lst1 = List(1, 2, 3) + lst2 = List(4, 5, 6) + q.append(lst1) + q.append(lst2) + assert_equal(q[0], lst1) + + p = q^ + assert_equal(p[0], lst1) + + lst1[0] = 7 + assert_equal(lst1[0], 7) + assert_equal(p[0], List(1, 2, 3)) + + +fn test_getitem() raises: + q = Deque(1, 2) + assert_equal(q[0], 1) + assert_equal(q[1], 2) + assert_equal(q[-1], 2) + assert_equal(q[-2], 1) + + +# ===-------------------------------------------------------------------===# +# main +# ===-------------------------------------------------------------------===# + + +def main(): + test_impl_init_default() + test_impl_init_capacity() + test_impl_init_min_capacity() + test_impl_init_maxlen() + test_impl_init_shrink() + test_impl_init_list() + test_impl_init_list_args() + test_impl_init_variadic() + test_impl_len() + test_impl_bool() + test_impl_append() + test_impl_append_with_maxlen() + test_impl_extend() + test_init_variadic_list() + test_copy_trivial() + test_copy_list() + test_move_list() + test_getitem() diff --git a/stdlib/test/collections/test_string.mojo b/stdlib/test/collections/test_string.mojo index 86d524a6c4..b5a1d3007c 100644 --- a/stdlib/test/collections/test_string.mojo +++ b/stdlib/test/collections/test_string.mojo @@ -267,7 +267,7 @@ def test_stringref(): def test_stringref_from_dtypepointer(): var a = StringRef("AAA") - var b = StringRef(a.data) + var b = StringRef(ptr=a.data) assert_equal(3, len(a)) assert_equal(3, len(b)) assert_equal(a, b) @@ -844,71 +844,41 @@ def test_split(): def test_splitlines(): + alias L = List[String] # Test with no line breaks - var in1 = String("hello world") - var res1 = in1.splitlines() - assert_equal(len(res1), 1) - assert_equal(res1[0], "hello world") - - # Test with \n line break - var in2 = String("hello\nworld") - var res2 = in2.splitlines() - assert_equal(len(res2), 2) - assert_equal(res2[0], "hello") - assert_equal(res2[1], "world") - - # Test with \r\n line break - var in3 = String("hello\r\nworld") - var res3 = in3.splitlines() - assert_equal(len(res3), 2) - assert_equal(res3[0], "hello") - assert_equal(res3[1], "world") - - # Test with \r line break - var in4 = String("hello\rworld") - var res4 = in4.splitlines() - assert_equal(len(res4), 2) - assert_equal(res4[0], "hello") - assert_equal(res4[1], "world") + assert_equal(String("hello world").splitlines(), L("hello world")) + + # Test with line breaks + assert_equal(String("hello\nworld").splitlines(), L("hello", "world")) + assert_equal(String("hello\rworld").splitlines(), L("hello", "world")) + assert_equal(String("hello\r\nworld").splitlines(), L("hello", "world")) # Test with multiple different line breaks - var in5 = String("hello\nworld\r\nmojo\rlanguage") - var res5 = in5.splitlines() - assert_equal(len(res5), 4) - assert_equal(res5[0], "hello") - assert_equal(res5[1], "world") - assert_equal(res5[2], "mojo") - assert_equal(res5[3], "language") - - # Test with keepends=True - var res6 = in5.splitlines(keepends=True) - assert_equal(len(res6), 4) - assert_equal(res6[0], "hello\n") - assert_equal(res6[1], "world\r\n") - assert_equal(res6[2], "mojo\r") - assert_equal(res6[3], "language") + s1 = String("hello\nworld\r\nmojo\rlanguage\r\n") + hello_mojo = L("hello", "world", "mojo", "language") + assert_equal(s1.splitlines(), hello_mojo) + assert_equal( + s1.splitlines(keepends=True), + L("hello\n", "world\r\n", "mojo\r", "language\r\n"), + ) # Test with an empty string - var in7 = String("") - var res7 = in7.splitlines() - assert_equal(len(res7), 0) - + assert_equal(String("").splitlines(), L()) # test \v \f \x1c \x1d - var in8 = String("hello\vworld\fmojo\x1clanguage\x1d") - var res8 = in8.splitlines() - assert_equal(len(res8), 4) - assert_equal(res8[0], "hello") - assert_equal(res8[1], "world") - assert_equal(res8[2], "mojo") - assert_equal(res8[3], "language") - - # test \x1e \x1d - var in9 = String("hello\x1eworld\x1dmojo") - var res9 = in9.splitlines() - assert_equal(len(res9), 3) - assert_equal(res9[0], "hello") - assert_equal(res9[1], "world") - assert_equal(res9[2], "mojo") + s2 = String("hello\vworld\fmojo\x1clanguage\x1d") + assert_equal(s2.splitlines(), hello_mojo) + assert_equal( + s2.splitlines(keepends=True), + L("hello\v", "world\f", "mojo\x1c", "language\x1d"), + ) + + # test \x1c \x1d \x1e + s3 = String("hello\x1cworld\x1dmojo\x1elanguage\x1e") + assert_equal(s3.splitlines(), hello_mojo) + assert_equal( + s3.splitlines(keepends=True), + L("hello\x1c", "world\x1d", "mojo\x1e", "language\x1e"), + ) # test \x85 \u2028 \u2029 var next_line = List[UInt8](0xC2, 0x85, 0) @@ -919,28 +889,13 @@ def test_splitlines(): """TODO: \\u2029""" for i in List(next_line, unicode_line_sep, unicode_paragraph_sep): - var in9 = "hello\x1eworld" + String(i[]) + "mojo" - var res9 = in9.splitlines() - assert_equal(len(res9), 3) - assert_equal(res9[0], "hello") - assert_equal(res9[1], "world") - assert_equal(res9[2], "mojo") - - # test with keepends=True - var res10 = in8.splitlines(keepends=True) - assert_equal(len(res10), 4) - assert_equal(res10[0], "hello\v") - assert_equal(res10[1], "world\f") - assert_equal(res10[2], "mojo\x1c") - assert_equal(res10[3], "language\x1d") - - var res11 = ("hello\x1eworld" + String(next_line) + "mojo").splitlines( - keepends=True - ) - assert_equal(len(res11), 3) - assert_equal(res11[0], "hello\x1e") - assert_equal(res11[1], "world" + String(next_line)) - assert_equal(res11[2], "mojo") + u = String(i[]) + item = String("").join("hello", u, "world", u, "mojo", u, "language", u) + assert_equal(item.splitlines(), hello_mojo) + assert_equal( + item.splitlines(keepends=True), + L("hello" + u, "world" + u, "mojo" + u, "language" + u), + ) def test_isupper(): diff --git a/stdlib/test/memory/test_memory.mojo b/stdlib/test/memory/test_memory.mojo index 90195ba443..52cbe98ae4 100644 --- a/stdlib/test/memory/test_memory.mojo +++ b/stdlib/test/memory/test_memory.mojo @@ -15,6 +15,7 @@ from sys import sizeof, simdwidthof from memory import ( + AddressSpace, UnsafePointer, memcmp, memcpy, @@ -365,6 +366,11 @@ def test_pointer_refitem_pair(): ptr.free() +def test_address_space_str(): + assert_equal(str(AddressSpace.GENERIC), "AddressSpace.GENERIC") + assert_equal(str(AddressSpace(17)), "AddressSpace(17)") + + def test_dtypepointer_gather(): var ptr = UnsafePointer[Float32].alloc(4) ptr.store(0, SIMD[ptr.type.type, 4](0.0, 1.0, 2.0, 3.0)) @@ -504,6 +510,8 @@ def main(): test_pointer_refitem_pair() test_pointer_string() + test_address_space_str() + test_dtypepointer_gather() test_dtypepointer_scatter() test_indexing() diff --git a/stdlib/test/memory/test_box.mojo b/stdlib/test/memory/test_owned_pointer.mojo similarity index 78% rename from stdlib/test/memory/test_box.mojo rename to stdlib/test/memory/test_owned_pointer.mojo index 6e7303516a..a09b8fa59b 100644 --- a/stdlib/test/memory/test_box.mojo +++ b/stdlib/test/memory/test_owned_pointer.mojo @@ -19,17 +19,17 @@ from test_utils import ( ImplicitCopyOnly, ObservableDel, ) -from memory import Box, UnsafePointer +from memory import OwnedPointer, UnsafePointer def test_basic_ref(): - var b = Box(1) + var b = OwnedPointer(1) assert_equal(1, b[]) -def test_box_copy_constructor(): - var b = Box(1) - var b2 = Box(copy_box=b) +def test_owned_pointer_copy_constructor(): + var b = OwnedPointer(1) + var b2 = OwnedPointer(other=b) assert_equal(1, b[]) assert_equal(1, b2[]) @@ -39,7 +39,7 @@ def test_box_copy_constructor(): def test_copying_constructor(): var v = ImplicitCopyOnly(1) - var b = Box(v) + var b = OwnedPointer(v) assert_equal(b[].value, 1) assert_equal(b[].copy_count, 1) # this should only ever require one copy @@ -47,7 +47,7 @@ def test_copying_constructor(): def test_explicitly_copying_constructor(): var v = ExplicitCopyOnly(1) - var b = Box(copy_value=v) + var b = OwnedPointer(copy_value=v) assert_equal(b[].value, 1) assert_equal(b[].copy_count, 1) # this should only ever require one copy @@ -55,13 +55,13 @@ def test_explicitly_copying_constructor(): def test_moving_constructor(): var v = MoveOnly[Int](1) - var b = Box(v^) + var b = OwnedPointer(v^) assert_equal(b[].data, 1) def test_basic_ref_mutate(): - var b = Box(1) + var b = OwnedPointer(1) assert_equal(1, b[]) b[] = 2 @@ -70,7 +70,7 @@ def test_basic_ref_mutate(): def test_multiple_refs(): - var b = Box(1) + var b = OwnedPointer(1) var borrow1 = b[] var borrow2 = b[] @@ -80,7 +80,7 @@ def test_multiple_refs(): def test_basic_del(): var deleted = False - var b = Box(ObservableDel(UnsafePointer.address_of(deleted))) + var b = OwnedPointer(ObservableDel(UnsafePointer.address_of(deleted))) assert_false(deleted) @@ -90,14 +90,14 @@ def test_basic_del(): def test_take(): - var b = Box(1) + var b = OwnedPointer(1) var v = b^.take() assert_equal(1, v) def test_moveinit(): var deleted = False - var b = Box(ObservableDel(UnsafePointer.address_of(deleted))) + var b = OwnedPointer(ObservableDel(UnsafePointer.address_of(deleted))) var p1 = b.unsafe_ptr() var b2 = b^ @@ -112,9 +112,11 @@ def test_moveinit(): def test_steal_data(): var deleted = False - var box = Box(ObservableDel(UnsafePointer.address_of(deleted))) + var owned_ptr = OwnedPointer( + ObservableDel(UnsafePointer.address_of(deleted)) + ) - var ptr = box^.steal_data() + var ptr = owned_ptr^.steal_data() # Check that `Box` did not deinitialize its pointee. assert_false(deleted) @@ -125,7 +127,7 @@ def test_steal_data(): def main(): test_basic_ref() - test_box_copy_constructor() + test_owned_pointer_copy_constructor() test_moving_constructor() test_copying_constructor() test_explicitly_copying_constructor() diff --git a/stdlib/test/memory/test_unsafepointer.mojo b/stdlib/test/memory/test_unsafepointer.mojo index 478207ec36..f7573c1941 100644 --- a/stdlib/test/memory/test_unsafepointer.mojo +++ b/stdlib/test/memory/test_unsafepointer.mojo @@ -227,6 +227,29 @@ def test_indexing(): assert_equal(ptr[3], 3) +def test_indexing_simd(): + var ptr = UnsafePointer[Int].alloc(4) + for i in range(4): + ptr[UInt8(i)] = i + + assert_equal(ptr[UInt8(1)], 1) + assert_equal(ptr[UInt8(3)], 3) + assert_equal(ptr[UInt16(1)], 1) + assert_equal(ptr[UInt16(3)], 3) + assert_equal(ptr[UInt32(1)], 1) + assert_equal(ptr[UInt32(3)], 3) + assert_equal(ptr[UInt64(1)], 1) + assert_equal(ptr[UInt64(3)], 3) + assert_equal(ptr[Int8(1)], 1) + assert_equal(ptr[Int8(3)], 3) + assert_equal(ptr[Int16(1)], 1) + assert_equal(ptr[Int16(3)], 3) + assert_equal(ptr[Int32(1)], 1) + assert_equal(ptr[Int32(3)], 3) + assert_equal(ptr[Int64(1)], 1) + assert_equal(ptr[Int64(3)], 3) + + def test_bool(): var nullptr = UnsafePointer[Int]() var ptr = UnsafePointer[Int].alloc(1) @@ -319,6 +342,7 @@ def main(): test_unsafepointer_address_space() test_indexing() + test_indexing_simd() test_bool() test_alignment() test_offset() diff --git a/stdlib/test/os/path/test_dirname.mojo b/stdlib/test/os/path/test_dirname.mojo index 2b4a914ad3..daa6e64762 100644 --- a/stdlib/test/os/path/test_dirname.mojo +++ b/stdlib/test/os/path/test_dirname.mojo @@ -10,7 +10,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # -# REQUIRES: !system-windows # RUN: %mojo %s diff --git a/stdlib/test/os/path/test_expanduser.mojo b/stdlib/test/os/path/test_expanduser.mojo index 7cfe60bfce..78764e6bf1 100644 --- a/stdlib/test/os/path/test_expanduser.mojo +++ b/stdlib/test/os/path/test_expanduser.mojo @@ -10,7 +10,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # -# REQUIRES: !system-windows # RUN: %mojo %s diff --git a/stdlib/test/pathlib/test_pathlib.mojo b/stdlib/test/pathlib/test_pathlib.mojo index 43d677fc63..249d5b2133 100644 --- a/stdlib/test/pathlib/test_pathlib.mojo +++ b/stdlib/test/pathlib/test_pathlib.mojo @@ -10,7 +10,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # -# REQUIRES: !system-windows # RUN: %mojo -D TEMP_FILE=%t %s import os diff --git a/stdlib/test/pwd/test_pwd.mojo b/stdlib/test/pwd/test_pwd.mojo index f58121a69d..0cab2ff11f 100644 --- a/stdlib/test/pwd/test_pwd.mojo +++ b/stdlib/test/pwd/test_pwd.mojo @@ -10,7 +10,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ===----------------------------------------------------------------------=== # -# REQUIRES: !system-windows # RUN: %mojo %s import pwd diff --git a/stdlib/test/utils/test_string_slice.mojo b/stdlib/test/utils/test_string_slice.mojo index 21791d7604..eb03a1eaf3 100644 --- a/stdlib/test/utils/test_string_slice.mojo +++ b/stdlib/test/utils/test_string_slice.mojo @@ -205,8 +205,8 @@ fn test_utf8_validation() raises: ظهرت نسخ جديدة ومختلفة من نص لوريم إيبسوم، أحياناً عن طريق الصدفة، وأحياناً عن عمد كإدخال بعض العبارات الفكاهية إليها. """ - assert_true(_is_valid_utf8(text.unsafe_ptr(), text.byte_length())) - assert_true(_is_valid_utf8(text.unsafe_ptr(), text.byte_length())) + assert_true(_is_valid_utf8(text.as_bytes())) + assert_true(_is_valid_utf8(text.as_bytes())) var positive = List[List[UInt8]]( List[UInt8](0x0), @@ -226,8 +226,8 @@ fn test_utf8_validation() raises: List[UInt8](0xF4, 0x8F, 0x88, 0xAA), ) for item in positive: - assert_true(_is_valid_utf8(item[].unsafe_ptr(), len(item[]))) - assert_true(_is_valid_utf8(item[].unsafe_ptr(), len(item[]))) + assert_true(_is_valid_utf8(Span(item[]))) + assert_true(_is_valid_utf8(Span(item[]))) var negative = List[List[UInt8]]( List[UInt8](0x80), List[UInt8](0xBF), @@ -256,8 +256,8 @@ fn test_utf8_validation() raises: List[UInt8](0x00, 0x00, 0xF0, 0x80, 0x80, 0x80), ) for item in negative: - assert_false(_is_valid_utf8(item[].unsafe_ptr(), len(item[]))) - assert_false(_is_valid_utf8(item[].unsafe_ptr(), len(item[]))) + assert_false(_is_valid_utf8(Span(item[]))) + assert_false(_is_valid_utf8(Span(item[]))) def test_find(): @@ -335,7 +335,7 @@ alias BAD_SEQUENCES = List[String]( fn validate_utf8(slice: String) -> Bool: - return _is_valid_utf8(slice.unsafe_ptr(), slice.byte_length()) + return _is_valid_utf8(slice.as_bytes()) def test_good_utf8_sequences(): @@ -415,6 +415,78 @@ def test_count_utf8_continuation_bytes(): _test(3, List[UInt8](b2, c, b3, c, c)) +def test_splitlines(): + alias S = StringSlice[StaticConstantOrigin] + alias L = List[StringSlice[StaticConstantOrigin]] + + # FIXME: remove once StringSlice conforms to TestableCollectionElement + fn _assert_equal[ + O1: ImmutableOrigin, O2: ImmutableOrigin + ](l1: List[StringSlice[O1]], l2: List[StringSlice[O2]]) raises: + assert_equal(len(l1), len(l2)) + for i in range(len(l1)): + assert_equal(str(l1[i]), str(l2[i])) + + # FIXME: remove once StringSlice conforms to TestableCollectionElement + fn _assert_equal[ + O1: ImmutableOrigin + ](l1: List[StringSlice[O1]], l2: List[String]) raises: + assert_equal(len(l1), len(l2)) + for i in range(len(l1)): + assert_equal(str(l1[i]), l2[i]) + + # Test with no line breaks + _assert_equal(S("hello world").splitlines(), L("hello world")) + + # Test with line breaks + _assert_equal(S("hello\nworld").splitlines(), L("hello", "world")) + _assert_equal(S("hello\rworld").splitlines(), L("hello", "world")) + _assert_equal(S("hello\r\nworld").splitlines(), L("hello", "world")) + + # Test with multiple different line breaks + s1 = S("hello\nworld\r\nmojo\rlanguage\r\n") + hello_mojo = L("hello", "world", "mojo", "language") + _assert_equal(s1.splitlines(), hello_mojo) + _assert_equal( + s1.splitlines(keepends=True), + L("hello\n", "world\r\n", "mojo\r", "language\r\n"), + ) + + # Test with an empty string + _assert_equal(S("").splitlines(), L()) + # test \v \f \x1c \x1d + s2 = S("hello\vworld\fmojo\x1clanguage\x1d") + _assert_equal(s2.splitlines(), hello_mojo) + _assert_equal( + s2.splitlines(keepends=True), + L("hello\v", "world\f", "mojo\x1c", "language\x1d"), + ) + + # test \x1c \x1d \x1e + s3 = S("hello\x1cworld\x1dmojo\x1elanguage\x1e") + _assert_equal(s3.splitlines(), hello_mojo) + _assert_equal( + s3.splitlines(keepends=True), + L("hello\x1c", "world\x1d", "mojo\x1e", "language\x1e"), + ) + + # test \x85 \u2028 \u2029 + var next_line = String(List[UInt8](0xC2, 0x85, 0)) + """TODO: \\x85""" + var unicode_line_sep = String(List[UInt8](0xE2, 0x80, 0xA8, 0)) + """TODO: \\u2028""" + var unicode_paragraph_sep = String(List[UInt8](0xE2, 0x80, 0xA9, 0)) + """TODO: \\u2029""" + + for i in List(next_line, unicode_line_sep, unicode_paragraph_sep): + u = i[] + item = String("").join("hello", u, "world", u, "mojo", u, "language", u) + s = StringSlice(item) + _assert_equal(s.splitlines(), hello_mojo) + items = List("hello" + u, "world" + u, "mojo" + u, "language" + u) + _assert_equal(s.splitlines(keepends=True), items) + + fn main() raises: test_string_literal_byte_span() test_string_byte_span() @@ -432,3 +504,4 @@ fn main() raises: test_combination_10_good_utf8_sequences() test_combination_10_good_10_bad_utf8_sequences() test_count_utf8_continuation_bytes() + test_splitlines()