Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.
MIT License
Bot releases are hidden (Show)
Published by filmor 28 days ago
ToPythonAs<T>()
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/2330
IComparable
and IEquatable
implementations by @lostmsu in https://github.com/pythonnet/pythonnet/pull/2322
sys.path
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/2383
Add
method and improve message for some other internal errors by @lostmsu in https://github.com/pythonnet/pythonnet/pull/2409
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.3...v3.0.4
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.2...v3.0.3
Published by filmor about 1 year ago
load
only runs once by @filmor in https://github.com/pythonnet/pythonnet/pull/2079
internal
functions by @filmor in https://github.com/pythonnet/pythonnet/pull/2092
GetBuffer
throwing ArgumentOutOfRangeException
by @legomanww in https://github.com/pythonnet/pythonnet/pull/2120
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.1...v3.0.2
Published by filmor almost 2 years ago
PyObject
instances by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1849
PyInt
converted to negative BigInteger
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1993
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0...v3.0.1
Published by filmor about 2 years ago
CheckExceptionOccurred
calls by @amos402 in https://github.com/pythonnet/pythonnet/pull/1175
len
work for ICollection<>
interface objects by @danabr in https://github.com/pythonnet/pythonnet/pull/1253
find_libpython
during import clr
as Python.Runtime can find it on its own by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1440
__cause__
on overload bind failure and array conversion by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1442
PyType_Ready
in CLR MetaType's tp_new
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1486
Py.Import
and PyModule.Import
return PyObject
instead of PyModule
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1530
needsResolution
hack by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1531
PyObject.As<object>()
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1546
threading
module after TestInterrupt
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1560
ClassManager
illegally decrefed ClassObject
's refcount on shutdown by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1563
PythonEngine
have similar SetUp
and TearDown
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1564
tpHandle
in ClassBase.tp_clear
- it might be used in tp_dealloc
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1566
collections.abc
interfaces by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1543
Dispatcher
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1559
ResolveHandler
, and use official assembly name parsing by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1570
FileLoadException
when trying clr.AddReference('/full/path.dll')
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1573
BadPythonDllException
instead of confusing TypeLoadException
when PythonDLL
was not configured properly by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1577
PyScope
/PyModule
API cleanup by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1569
PyType
is allocated by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1579
GetAttr(name, default)
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1578
PyType.Get
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1581
PySequence
and PyIterable
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1580
IPyObjectDecoder.CanDecode
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1583
float
and bool
implicit conversions by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1584
__call__
method callable from Python by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1589
PythonMethodAttribute
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1609
ShutdownMode
. Now always behaves like original Reload
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1638
Py
class into its own file by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1649
__int__
instance method on enum types to support int(Enum.Member)
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1661
PyBuffer
a bit by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1662
PyObject
conversion to IEnumerable
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1697
PyObject
inherited from its base .NET classes GIL-safe by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1711
BigInteger
(C#) <-> PyInt
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1710
NativeTypeSpec
on 32 bit platforms by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1765
Min
/MaxSupportedVersion
and IsSupportedVersion
on PythonEngine
by @filmor in https://github.com/pythonnet/pythonnet/pull/1799
Min
/MaxSupportedVersion
and IsSupportedVersion
on PythonEngine
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1798
NewReference.Move
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1873
Initialize
and BeginAllowThreads
in the README by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1897
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v2.5.2...v3.0.0
Published by filmor about 2 years ago
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0-rc5...v3.0.0-rc6
Published by filmor about 2 years ago
Initialize
and BeginAllowThreads
in the README by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1897
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0-rc4...v3.0.0-rc5
Published by filmor over 2 years ago
NewReference.Move
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1873
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0-rc3...v3.0.0-rc4
Published by filmor over 2 years ago
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0-rc2...v3.0.0-rc3
Published by filmor over 2 years ago
import clr
behaviourFull Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0-rc1...v3.0.0-rc2
Published by filmor over 2 years ago
ShutdownMode
. Now always behaves like original Reload
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1638
Py
class into its own file by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1649
__int__
instance method on enum types to support int(Enum.Member)
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1661
PyBuffer
a bit by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1662
PyObject
conversion to IEnumerable
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1697
PyObject
inherited from its base .NET classes GIL-safe by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1711
BigInteger
(C#) <-> PyInt
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1710
NativeTypeSpec
on 32 bit platforms by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1765
Min
/MaxSupportedVersion
and IsSupportedVersion
on PythonEngine
by @filmor in https://github.com/pythonnet/pythonnet/pull/1799
Min
/MaxSupportedVersion
and IsSupportedVersion
on PythonEngine
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1798
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0-a2...v3.0.0-rc1
Published by filmor almost 3 years ago
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v3.0.0-a1...v3.0.0-a2
Published by filmor almost 3 years ago
CheckExceptionOccurred
calls by @amos402 in https://github.com/pythonnet/pythonnet/pull/1175
len
work for ICollection<>
interface objects by @danabr in https://github.com/pythonnet/pythonnet/pull/1253
find_libpython
during import clr
as Python.Runtime can find it on its own by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1440
__cause__
on overload bind failure and array conversion by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1442
PyType_Ready
in CLR MetaType's tp_new
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1486
Py.Import
and PyModule.Import
return PyObject
instead of PyModule
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1530
needsResolution
hack by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1531
PyObject.As<object>()
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1546
threading
module after TestInterrupt
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1560
ClassManager
illegally decrefed ClassObject
's refcount on shutdown by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1563
PythonEngine
have similar SetUp
and TearDown
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1564
tpHandle
in ClassBase.tp_clear
- it might be used in tp_dealloc
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1566
collections.abc
interfaces by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1543
Dispatcher
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1559
ResolveHandler
, and use official assembly name parsing by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1570
FileLoadException
when trying clr.AddReference('/full/path.dll')
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1573
BadPythonDllException
instead of confusing TypeLoadException
when PythonDLL
was not configured properly by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1577
PyScope
/PyModule
API cleanup by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1569
PyType
is allocated by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1579
GetAttr(name, default)
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1578
PyType.Get
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1581
PySequence
and PyIterable
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1580
IPyObjectDecoder.CanDecode
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1583
float
and bool
implicit conversions by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1584
__call__
method callable from Python by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1589
PythonMethodAttribute
by @lostmsu in https://github.com/pythonnet/pythonnet/pull/1609
Full Changelog: https://github.com/pythonnet/pythonnet/compare/v2.5.0...v3.0.0-a1
Published by filmor over 3 years ago
object[]
parameters having precedence over anything else compatible https://github.com/pythonnet/pythonnet/issues/1211
Additionally, includes support for Python 3.9.
Published by filmor over 4 years ago
Backports two reference counting bugfixes from master
.
Many thanks two the reporters who also provided the fixes:
Published by filmor over 4 years ago
⚠️ This release will be the last one supporting Python 2 and non-.NET-Standard builds.
This version improves performance on benchmarks significantly compared to 2.3 and includes various additions and improvements to the library.
Py_NoSiteFlag
to 1.__len__
for .NET classes that implement ICollectionPyExport
attribute to hide .NET types from PythonPythonException.Format
method to format exceptions the same astraceback.format_exception
Runtime.None
to be able to pass None
as parameter into Python from .NETPyObject.IsNone()
to check if a Python object is None in .NET.PyLong_GetMax
and PyClass_New
when targetting Python3GetDelegateForFunctionPointer(IntPtr, Type)
toGetDelegateForFunctionPointer<TDelegate>(IntPtr)
object
by wrapping it into PyObject
instance.Finalizer
. Now objects drop into its queue upon finalization,Runtime.OperatingSystemName
and Runtime.MachineName
asObsolete
, should never have been public
in the first place. They alsoplatform
module's.pycparser
for the interop module generation__classcell__
correctly for Python subclasses of .NET typesPyRun_String
on Python 3These authors have contributed to this release:
Published by filmor over 5 years ago
Published by filmor over 5 years ago
PythonEngine.AddShutdownHandler
to help client code clean up on shutdown.clr.GetClrType
(#432)(#433)None
for nullable args (#460)Py_InitializeEx
with a default value of 0, so signals will not be configured by default on embedding. This is different from the previous behaviour, where Py_Initialize
was called instead, which sets initSigs to 1. (#449)__namespace__
or __assembly__
clr.GetClrType
when iterating over System
members (#607)LockRecursionException
when loading assemblies (#627)Published by vmuriart over 7 years ago
PySys_SetArgvEx
(#347)Embedded_Tests
on AppVeyor (#224)(#353)Embedded_Tests
on Travis (#224)(#391)Slack
(#384)(#383)(#386)PyObject
(#370)(#373)Coverity scan
(#390)bumpversion
for version control (#319)(#398)tox
for local testing (#345)requirements.txt
PythonEngine
methods Eval
and Exec
(#389)ICustomMarshal
(#407)pyinstaller
and cx_freeze
for pythonnet
(#66)unittests
(#329)setup.py
(#337)runtime.cs
(#339)Embedded_Tests
to make easier to write tests (#369)unittests
to pytest
(#368)2.6.3
to 3.5.0
(#341)3.5.0
to 2.6.4
(#353)2.6.4
to 3.6.0
(#371)conda.recipe
build to only pull-requests (#345)Py_DEBUG
and PYTHON_WITH_PYDEBUG
flags (#362)RunString
(#401)conda.recipe
(#398)Embedded_Tests
PythonException
crash during Shutdown (#400)AppDomain
unload during GC (#397)(#400)Py_Main
& PySys_SetArgvEx
no mem error
on UCS4/PY3
(#399)Python.Runtime.dll.config
on macOS (#120)PythonEngine.Version
(#413)PythonEngine.PythonPath
issues (#179)(#414)(#415)six
dependency for unittests
(#329)Mono.Unix
dependency for UCS4
(#360)Python.Runtime.dll.config
PYTHON_WITH_WIDE_UNICODE
(#417)