X Tutup
# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-02-25 14:44+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/" "id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" msgid "Module Objects" msgstr "" msgid "" "This instance of :c:type:`PyTypeObject` represents the Python module type. " "This is exposed to Python programs as :py:class:`types.ModuleType`." msgstr "" msgid "" "Return true if *p* is a module object, or a subtype of a module object. This " "function always succeeds." msgstr "" msgid "" "Return true if *p* is a module object, but not a subtype of :c:data:" "`PyModule_Type`. This function always succeeds." msgstr "" msgid "" "Return a new module object with :attr:`module.__name__` set to *name*. The " "module's :attr:`!__name__`, :attr:`~module.__doc__`, :attr:`~module." "__package__` and :attr:`~module.__loader__` attributes are filled in (all " "but :attr:`!__name__` are set to ``None``). The caller is responsible for " "setting a :attr:`~module.__file__` attribute." msgstr "" msgid "Return ``NULL`` with an exception set on error." msgstr "" msgid "" ":attr:`~module.__package__` and :attr:`~module.__loader__` are now set to " "``None``." msgstr "" msgid "" "Similar to :c:func:`PyModule_NewObject`, but the name is a UTF-8 encoded " "string instead of a Unicode object." msgstr "" msgid "" "Return the dictionary object that implements *module*'s namespace; this " "object is the same as the :attr:`~object.__dict__` attribute of the module " "object. If *module* is not a module object (or a subtype of a module " "object), :exc:`SystemError` is raised and ``NULL`` is returned." msgstr "" msgid "" "It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` " "functions rather than directly manipulate a module's :attr:`~object." "__dict__`." msgstr "" msgid "" "The returned reference is borrowed from the module; it is valid until the " "module is destroyed." msgstr "" msgid "" "Return *module*'s :attr:`~module.__name__` value. If the module does not " "provide one, or if it is not a string, :exc:`SystemError` is raised and " "``NULL`` is returned." msgstr "" msgid "" "Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to " "``'utf-8'``." msgstr "" msgid "" "The returned buffer is only valid until the module is renamed or destroyed. " "Note that Python code may rename a module by setting its :py:attr:`~module." "__name__` attribute." msgstr "" msgid "" "Return the \"state\" of the module, that is, a pointer to the block of " "memory allocated at module creation time, or ``NULL``. See :c:member:" "`PyModuleDef.m_size`." msgstr "" msgid "" "Return a pointer to the :c:type:`PyModuleDef` struct from which the module " "was created, or ``NULL`` if the module wasn't created from a definition." msgstr "" msgid "" "On error, return ``NULL`` with an exception set. Use :c:func:" "`PyErr_Occurred` to tell this case apart from a missing :c:type:`!" "PyModuleDef`." msgstr "" msgid "" "Return the name of the file from which *module* was loaded using *module*'s :" "attr:`~module.__file__` attribute. If this is not defined, or if it is not " "a string, raise :exc:`SystemError` and return ``NULL``; otherwise return a " "reference to a Unicode object." msgstr "" msgid "" "Similar to :c:func:`PyModule_GetFilenameObject` but return the filename " "encoded to 'utf-8'." msgstr "" msgid "" "The returned buffer is only valid until the module's :py:attr:`~module." "__file__` attribute is reassigned or the module is destroyed." msgstr "" msgid "" ":c:func:`PyModule_GetFilename` raises :exc:`UnicodeEncodeError` on " "unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead." msgstr "" msgid "Module definitions" msgstr "" msgid "" "The functions in the previous section work on any module object, including " "modules imported from Python code." msgstr "" msgid "" "Modules defined using the C API typically use a *module definition*, :c:type:" "`PyModuleDef` -- a statically allocated, constant “description\" of how a " "module should be created." msgstr "" msgid "" "The definition is usually used to define an extension's “main” module object " "(see :ref:`extension-modules` for details). It is also used to :ref:`create " "extension modules dynamically `." msgstr "" msgid "" "Unlike :c:func:`PyModule_New`, the definition allows management of *module " "state* -- a piece of memory that is allocated and cleared together with the " "module object. Unlike the module's Python attributes, Python code cannot " "replace or delete data stored in module state." msgstr "" msgid "" "The module definition struct, which holds all information needed to create a " "module object. This structure must be statically allocated (or be otherwise " "guaranteed to be valid while any modules created from it exist). Usually, " "there is only one variable of this type for each extension module." msgstr "" msgid "Always initialize this member to :c:macro:`PyModuleDef_HEAD_INIT`." msgstr "" msgid "Name for the new module." msgstr "" msgid "" "Docstring for the module; usually a docstring variable created with :c:macro:" "`PyDoc_STRVAR` is used." msgstr "" msgid "" "Module state may be kept in a per-module memory area that can be retrieved " "with :c:func:`PyModule_GetState`, rather than in static globals. This makes " "modules safe for use in multiple sub-interpreters." msgstr "" msgid "" "This memory area is allocated based on *m_size* on module creation, and " "freed when the module object is deallocated, after the :c:member:" "`~PyModuleDef.m_free` function has been called, if present." msgstr "" msgid "" "Setting it to a non-negative value means that the module can be re-" "initialized and specifies the additional amount of memory it requires for " "its state." msgstr "" msgid "" "Setting ``m_size`` to ``-1`` means that the module does not support sub-" "interpreters, because it has global state. Negative ``m_size`` is only " "allowed when using :ref:`legacy single-phase initialization ` or when :ref:`creating modules dynamically `." msgstr "" msgid "See :PEP:`3121` for more details." msgstr "" msgid "" "A pointer to a table of module-level functions, described by :c:type:" "`PyMethodDef` values. Can be ``NULL`` if no functions are present." msgstr "" msgid "" "An array of slot definitions for multi-phase initialization, terminated by a " "``{0, NULL}`` entry. When using legacy single-phase initialization, " "*m_slots* must be ``NULL``." msgstr "" msgid "" "Prior to version 3.5, this member was always set to ``NULL``, and was " "defined as:" msgstr "" msgid "" "A traversal function to call during GC traversal of the module object, or " "``NULL`` if not needed." msgstr "" msgid "" "This function is not called if the module state was requested but is not " "allocated yet. This is the case immediately after the module is created and " "before the module is executed (:c:data:`Py_mod_exec` function). More " "precisely, this function is not called if :c:member:`~PyModuleDef.m_size` is " "greater than 0 and the module state (as returned by :c:func:" "`PyModule_GetState`) is ``NULL``." msgstr "" msgid "No longer called before the module state is allocated." msgstr "" msgid "" "A clear function to call during GC clearing of the module object, or " "``NULL`` if not needed." msgstr "" msgid "" "Like :c:member:`PyTypeObject.tp_clear`, this function is not *always* called " "before a module is deallocated. For example, when reference counting is " "enough to determine that an object is no longer used, the cyclic garbage " "collector is not involved and :c:member:`~PyModuleDef.m_free` is called " "directly." msgstr "" msgid "" "A function to call during deallocation of the module object, or ``NULL`` if " "not needed." msgstr "" msgid "The type of ``PyModuleDef`` objects." msgstr "" msgid "Module slots" msgstr "" msgid "A slot ID, chosen from the available values explained below." msgstr "" msgid "Value of the slot, whose meaning depends on the slot ID." msgstr "" msgid "The available slot types are:" msgstr "" msgid "" "Specifies a function that is called to create the module object itself. The " "*value* pointer of this slot must point to a function of the signature:" msgstr "" msgid "" "The function receives a :py:class:`~importlib.machinery.ModuleSpec` " "instance, as defined in :PEP:`451`, and the module definition. It should " "return a new module object, or set an error and return ``NULL``." msgstr "" msgid "" "This function should be kept minimal. In particular, it should not call " "arbitrary Python code, as trying to import the same module again may result " "in an infinite loop." msgstr "" msgid "" "Multiple ``Py_mod_create`` slots may not be specified in one module " "definition." msgstr "" msgid "" "If ``Py_mod_create`` is not specified, the import machinery will create a " "normal module object using :c:func:`PyModule_New`. The name is taken from " "*spec*, not the definition, to allow extension modules to dynamically adjust " "to their place in the module hierarchy and be imported under different names " "through symlinks, all while sharing a single module definition." msgstr "" msgid "" "There is no requirement for the returned object to be an instance of :c:type:" "`PyModule_Type`. Any type can be used, as long as it supports setting and " "getting import-related attributes. However, only ``PyModule_Type`` instances " "may be returned if the ``PyModuleDef`` has non-``NULL`` ``m_traverse``, " "``m_clear``, ``m_free``; non-zero ``m_size``; or slots other than " "``Py_mod_create``." msgstr "" msgid "" "Specifies a function that is called to *execute* the module. This is " "equivalent to executing the code of a Python module: typically, this " "function adds classes and constants to the module. The signature of the " "function is:" msgstr "" msgid "" "If multiple ``Py_mod_exec`` slots are specified, they are processed in the " "order they appear in the *m_slots* array." msgstr "" msgid "Specifies one of the following values:" msgstr "" msgid "The module does not support being imported in subinterpreters." msgstr "" msgid "" "The module supports being imported in subinterpreters, but only when they " "share the main interpreter's GIL. (See :ref:`isolating-extensions-howto`.)" msgstr "" msgid "" "The module supports being imported in subinterpreters, even when they have " "their own GIL. (See :ref:`isolating-extensions-howto`.)" msgstr "" msgid "" "This slot determines whether or not importing this module in a " "subinterpreter will fail." msgstr "" msgid "" "Multiple ``Py_mod_multiple_interpreters`` slots may not be specified in one " "module definition." msgstr "" msgid "" "If ``Py_mod_multiple_interpreters`` is not specified, the import machinery " "defaults to ``Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED``." msgstr "" msgid "" "The module depends on the presence of the global interpreter lock (GIL), and " "may access global state without synchronization." msgstr "" msgid "The module is safe to run without an active GIL." msgstr "" msgid "" "This slot is ignored by Python builds not configured with :option:`--disable-" "gil`. Otherwise, it determines whether or not importing this module will " "cause the GIL to be automatically enabled. See :ref:`whatsnew313-free-" "threaded-cpython` for more detail." msgstr "" msgid "" "Multiple ``Py_mod_gil`` slots may not be specified in one module definition." msgstr "" msgid "" "If ``Py_mod_gil`` is not specified, the import machinery defaults to " "``Py_MOD_GIL_USED``." msgstr "" msgid "Creating extension modules dynamically" msgstr "" msgid "" "The following functions may be used to create a module outside of an " "extension's :ref:`initialization function `. They are " "also used in :ref:`single-phase initialization `." msgstr "" msgid "" "Create a new module object, given the definition in *def*. This is a macro " "that calls :c:func:`PyModule_Create2` with *module_api_version* set to :c:" "macro:`PYTHON_API_VERSION`, or to :c:macro:`PYTHON_ABI_VERSION` if using " "the :ref:`limited API `." msgstr "" msgid "" "Create a new module object, given the definition in *def*, assuming the API " "version *module_api_version*. If that version does not match the version of " "the running interpreter, a :exc:`RuntimeWarning` is emitted." msgstr "" msgid "" "This function does not support slots. The :c:member:`~PyModuleDef.m_slots` " "member of *def* must be ``NULL``." msgstr "" msgid "" "Most uses of this function should be using :c:func:`PyModule_Create` " "instead; only use this if you are sure you need it." msgstr "" msgid "" "This macro calls :c:func:`PyModule_FromDefAndSpec2` with " "*module_api_version* set to :c:macro:`PYTHON_API_VERSION`, or to :c:macro:" "`PYTHON_ABI_VERSION` if using the :ref:`limited API `." msgstr "" msgid "" "Create a new module object, given the definition in *def* and the ModuleSpec " "*spec*, assuming the API version *module_api_version*. If that version does " "not match the version of the running interpreter, a :exc:`RuntimeWarning` is " "emitted." msgstr "" msgid "" "Note that this does not process execution slots (:c:data:`Py_mod_exec`). " "Both ``PyModule_FromDefAndSpec`` and ``PyModule_ExecDef`` must be called to " "fully initialize a module." msgstr "" msgid "" "Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` " "instead; only use this if you are sure you need it." msgstr "" msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*." msgstr "" msgid "The C API version. Defined for backwards compatibility." msgstr "" msgid "" "Currently, this constant is not updated in new Python versions, and is not " "useful for versioning. This may change in the future." msgstr "" msgid "Defined as ``3`` for backwards compatibility." msgstr "" msgid "Support functions" msgstr "" msgid "" "The following functions are provided to help initialize a module state. They " "are intended for a module's execution slots (:c:data:`Py_mod_exec`), the " "initialization function for legacy :ref:`single-phase initialization `, or code that creates modules dynamically." msgstr "" msgid "" "Add an object to *module* as *name*. This is a convenience function which " "can be used from the module's initialization function." msgstr "" msgid "" "On success, return ``0``. On error, raise an exception and return ``-1``." msgstr "" msgid "Example usage::" msgstr "" msgid "" "static int\n" "add_spam(PyObject *module, int value)\n" "{\n" " PyObject *obj = PyLong_FromLong(value);\n" " if (obj == NULL) {\n" " return -1;\n" " }\n" " int res = PyModule_AddObjectRef(module, \"spam\", obj);\n" " Py_DECREF(obj);\n" " return res;\n" " }" msgstr "" msgid "" "To be convenient, the function accepts ``NULL`` *value* with an exception " "set. In this case, return ``-1`` and just leave the raised exception " "unchanged." msgstr "" msgid "" "The example can also be written without checking explicitly if *obj* is " "``NULL``::" msgstr "" msgid "" "static int\n" "add_spam(PyObject *module, int value)\n" "{\n" " PyObject *obj = PyLong_FromLong(value);\n" " int res = PyModule_AddObjectRef(module, \"spam\", obj);\n" " Py_XDECREF(obj);\n" " return res;\n" " }" msgstr "" msgid "" "Note that ``Py_XDECREF()`` should be used instead of ``Py_DECREF()`` in this " "case, since *obj* can be ``NULL``." msgstr "" msgid "" "The number of different *name* strings passed to this function should be " "kept small, usually by only using statically allocated strings as *name*. " "For names that aren't known at compile time, prefer calling :c:func:" "`PyUnicode_FromString` and :c:func:`PyObject_SetAttr` directly. For more " "details, see :c:func:`PyUnicode_InternFromString`, which may be used " "internally to create a key object." msgstr "" msgid "" "Similar to :c:func:`PyModule_AddObjectRef`, but \"steals\" a reference to " "*value*. It can be called with a result of function that returns a new " "reference without bothering to check its result or even saving it to a " "variable." msgstr "" msgid "" "if (PyModule_Add(module, \"spam\", PyBytes_FromString(value)) < 0) {\n" " goto error;\n" "}" msgstr "" msgid "" "Similar to :c:func:`PyModule_AddObjectRef`, but steals a reference to " "*value* on success (if it returns ``0``)." msgstr "" msgid "" "The new :c:func:`PyModule_Add` or :c:func:`PyModule_AddObjectRef` functions " "are recommended, since it is easy to introduce reference leaks by misusing " "the :c:func:`PyModule_AddObject` function." msgstr "" msgid "" "Unlike other functions that steal references, ``PyModule_AddObject()`` only " "releases the reference to *value* **on success**." msgstr "" msgid "" "This means that its return value must be checked, and calling code must :c:" "func:`Py_XDECREF` *value* manually on error." msgstr "" msgid "" "PyObject *obj = PyBytes_FromString(value);\n" "if (PyModule_AddObject(module, \"spam\", obj) < 0) {\n" " // If 'obj' is not NULL and PyModule_AddObject() failed,\n" " // 'obj' strong reference must be deleted with Py_XDECREF().\n" " // If 'obj' is NULL, Py_XDECREF() does nothing.\n" " Py_XDECREF(obj);\n" " goto error;\n" "}\n" "// PyModule_AddObject() stole a reference to obj:\n" "// Py_XDECREF(obj) is not needed here." msgstr "" msgid ":c:func:`PyModule_AddObject` is :term:`soft deprecated`." msgstr "" msgid "" "Add an integer constant to *module* as *name*. This convenience function " "can be used from the module's initialization function. Return ``-1`` with an " "exception set on error, ``0`` on success." msgstr "" msgid "" "This is a convenience function that calls :c:func:`PyLong_FromLong` and :c:" "func:`PyModule_AddObjectRef`; see their documentation for details." msgstr "" msgid "" "Add a string constant to *module* as *name*. This convenience function can " "be used from the module's initialization function. The string *value* must " "be ``NULL``-terminated. Return ``-1`` with an exception set on error, ``0`` " "on success." msgstr "" msgid "" "This is a convenience function that calls :c:func:" "`PyUnicode_InternFromString` and :c:func:`PyModule_AddObjectRef`; see their " "documentation for details." msgstr "" msgid "" "Add an int constant to *module*. The name and the value are taken from " "*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int " "constant *AF_INET* with the value of *AF_INET* to *module*. Return ``-1`` " "with an exception set on error, ``0`` on success." msgstr "" msgid "Add a string constant to *module*." msgstr "" msgid "" "Add a type object to *module*. The type object is finalized by calling " "internally :c:func:`PyType_Ready`. The name of the type object is taken from " "the last component of :c:member:`~PyTypeObject.tp_name` after dot. Return " "``-1`` with an exception set on error, ``0`` on success." msgstr "" msgid "" "Add the functions from the ``NULL`` terminated *functions* array to " "*module*. Refer to the :c:type:`PyMethodDef` documentation for details on " "individual entries (due to the lack of a shared module namespace, module " "level \"functions\" implemented in C typically receive the module as their " "first parameter, making them similar to instance methods on Python classes)." msgstr "" msgid "" "This function is called automatically when creating a module from " "``PyModuleDef`` (such as when using :ref:`multi-phase-initialization`, " "``PyModule_Create``, or ``PyModule_FromDefAndSpec``). Some module authors " "may prefer defining functions in multiple :c:type:`PyMethodDef` arrays; in " "that case they should call this function directly." msgstr "" msgid "" "The *functions* array must be statically allocated (or otherwise guaranteed " "to outlive the module object)." msgstr "" msgid "" "Set the docstring for *module* to *docstring*. This function is called " "automatically when creating a module from ``PyModuleDef`` (such as when " "using :ref:`multi-phase-initialization`, ``PyModule_Create``, or " "``PyModule_FromDefAndSpec``)." msgstr "" msgid "Return ``0`` on success. Return ``-1`` with an exception set on error." msgstr "" msgid "" "Indicate that *module* does or does not support running without the global " "interpreter lock (GIL), using one of the values from :c:macro:`Py_mod_gil`. " "It must be called during *module*'s initialization function when using :ref:" "`single-phase-initialization`. If this function is not called during module " "initialization, the import machinery assumes the module does not support " "running without the GIL. This function is only available in Python builds " "configured with :option:`--disable-gil`. Return ``-1`` with an exception set " "on error, ``0`` on success." msgstr "" msgid "Module lookup (single-phase initialization)" msgstr "" msgid "" "The legacy :ref:`single-phase initialization ` " "initialization scheme creates singleton modules that can be looked up in the " "context of the current interpreter. This allows the module object to be " "retrieved later with only a reference to the module definition." msgstr "" msgid "" "These functions will not work on modules created using multi-phase " "initialization, since multiple such modules can be created from a single " "definition." msgstr "" msgid "" "Returns the module object that was created from *def* for the current " "interpreter. This method requires that the module object has been attached " "to the interpreter state with :c:func:`PyState_AddModule` beforehand. In " "case the corresponding module object is not found or has not been attached " "to the interpreter state yet, it returns ``NULL``." msgstr "" msgid "" "Attaches the module object passed to the function to the interpreter state. " "This allows the module object to be accessible via :c:func:" "`PyState_FindModule`." msgstr "" msgid "Only effective on modules created using single-phase initialization." msgstr "" msgid "" "Python calls ``PyState_AddModule`` automatically after importing a module " "that uses :ref:`single-phase initialization `, " "so it is unnecessary (but harmless) to call it from module initialization " "code. An explicit call is needed only if the module's own init code " "subsequently calls ``PyState_FindModule``. The function is mainly intended " "for implementing alternative import mechanisms (either by calling it " "directly, or by referring to its implementation for details of the required " "state updates)." msgstr "" msgid "" "If a module was attached previously using the same *def*, it is replaced by " "the new *module*." msgstr "" msgid "The caller must have an :term:`attached thread state`." msgstr "" msgid "Return ``-1`` with an exception set on error, ``0`` on success." msgstr "" msgid "" "Removes the module object created from *def* from the interpreter state. " "Return ``-1`` with an exception set on error, ``0`` on success." msgstr "" msgid "object" msgstr "objek" msgid "module" msgstr "modul" msgid "ModuleType (in module types)" msgstr "" msgid "__name__ (module attribute)" msgstr "" msgid "__doc__ (module attribute)" msgstr "" msgid "__file__ (module attribute)" msgstr "" msgid "__package__ (module attribute)" msgstr "" msgid "__loader__ (module attribute)" msgstr "" msgid "__dict__ (module attribute)" msgstr "" msgid "SystemError (built-in exception)" msgstr ""
X Tutup