Sowanna 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sowanna-0.1.0/PKG-INFO +43 -0
- sowanna-0.1.0/README.md +21 -0
- sowanna-0.1.0/Sowanna.egg-info/PKG-INFO +43 -0
- sowanna-0.1.0/Sowanna.egg-info/SOURCES.txt +246 -0
- sowanna-0.1.0/Sowanna.egg-info/dependency_links.txt +1 -0
- sowanna-0.1.0/Sowanna.egg-info/entry_points.txt +2 -0
- sowanna-0.1.0/Sowanna.egg-info/requires.txt +3 -0
- sowanna-0.1.0/Sowanna.egg-info/top_level.txt +1 -0
- sowanna-0.1.0/pyproject.toml +42 -0
- sowanna-0.1.0/setup.cfg +4 -0
- sowanna-0.1.0/sowanna/__init__.py +24 -0
- sowanna-0.1.0/sowanna/_bridge/Bridge.deps.json +996 -0
- sowanna-0.1.0/sowanna/_bridge/Bridge.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/Bridge.exe +0 -0
- sowanna-0.1.0/sowanna/_bridge/Bridge.pdb +0 -0
- sowanna-0.1.0/sowanna/_bridge/Bridge.runtimeconfig.json +16 -0
- sowanna-0.1.0/sowanna/_bridge/Microsoft.CSharp.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/Microsoft.DiaSymReader.Native.amd64.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/Microsoft.VisualBasic.Core.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/Microsoft.VisualBasic.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/Microsoft.Win32.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/Microsoft.Win32.Registry.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.AppContext.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Buffers.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Collections.Concurrent.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Collections.Immutable.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Collections.NonGeneric.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Collections.Specialized.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Collections.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ComponentModel.Annotations.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ComponentModel.DataAnnotations.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ComponentModel.EventBasedAsync.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ComponentModel.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ComponentModel.TypeConverter.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ComponentModel.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Configuration.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Console.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Core.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Data.Common.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Data.DataSetExtensions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Data.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.Contracts.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.Debug.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.DiagnosticSource.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.FileVersionInfo.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.Process.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.StackTrace.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.TextWriterTraceListener.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.Tools.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.TraceSource.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Diagnostics.Tracing.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Drawing.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Drawing.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Dynamic.Runtime.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Formats.Asn1.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Globalization.Calendars.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Globalization.Extensions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Globalization.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.Compression.Brotli.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.Compression.FileSystem.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.Compression.Native.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.Compression.ZipFile.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.Compression.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.FileSystem.AccessControl.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.FileSystem.DriveInfo.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.FileSystem.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.FileSystem.Watcher.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.FileSystem.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.IsolatedStorage.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.MemoryMappedFiles.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.Pipes.AccessControl.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.Pipes.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.UnmanagedMemoryStream.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.IO.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Linq.Expressions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Linq.Parallel.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Linq.Queryable.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Linq.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Memory.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Http.Json.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Http.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.HttpListener.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Mail.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.NameResolution.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.NetworkInformation.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Ping.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Quic.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Requests.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Security.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.ServicePoint.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.Sockets.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.WebClient.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.WebHeaderCollection.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.WebProxy.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.WebSockets.Client.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.WebSockets.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Net.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Numerics.Vectors.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Numerics.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ObjectModel.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Private.CoreLib.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Private.DataContractSerialization.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Private.Uri.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Private.Xml.Linq.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Private.Xml.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.DispatchProxy.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.Emit.ILGeneration.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.Emit.Lightweight.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.Emit.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.Extensions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.Metadata.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.TypeExtensions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Reflection.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Resources.Reader.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Resources.ResourceManager.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Resources.Writer.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.CompilerServices.VisualC.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Extensions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Handles.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.InteropServices.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Intrinsics.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Loader.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Numerics.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Serialization.Formatters.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Serialization.Json.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Serialization.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Serialization.Xml.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.Serialization.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Runtime.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.AccessControl.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Claims.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Cryptography.Algorithms.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Cryptography.Cng.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Cryptography.Csp.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Cryptography.Encoding.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Cryptography.OpenSsl.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Cryptography.Primitives.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Cryptography.X509Certificates.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Principal.Windows.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.Principal.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.SecureString.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Security.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ServiceModel.Web.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ServiceProcess.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Text.Encoding.CodePages.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Text.Encoding.Extensions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Text.Encoding.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Text.Encodings.Web.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Text.Json.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Text.RegularExpressions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Channels.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Overlapped.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Tasks.Dataflow.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Tasks.Extensions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Tasks.Parallel.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Tasks.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Thread.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.ThreadPool.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.Timer.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Threading.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Transactions.Local.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Transactions.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.ValueTuple.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Web.HttpUtility.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Web.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Windows.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.Linq.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.ReaderWriter.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.Serialization.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.XDocument.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.XPath.XDocument.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.XPath.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.XmlDocument.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.XmlSerializer.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.Xml.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/System.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/WindowsBase.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-console-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-console-l1-2-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-datetime-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-debug-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-fibers-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-file-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-file-l1-2-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-file-l2-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-handle-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-heap-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-localization-l1-2-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-memory-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-profile-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-string-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-synch-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-synch-l1-2-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-timezone-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-core-util-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-conio-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-convert-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-environment-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-heap-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-locale-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-math-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-private-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-process-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-string-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-time-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/api-ms-win-crt-utility-l1-1-0.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/clretwrc.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/clrjit.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/coreclr.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/createdump.exe +0 -0
- sowanna-0.1.0/sowanna/_bridge/dbgshim.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/hostfxr.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/hostpolicy.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/mscordaccore.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/mscordaccore_amd64_amd64_6.0.3624.51421.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/mscordbi.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/mscorlib.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/mscorrc.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/msquic.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/netstandard.dll +0 -0
- sowanna-0.1.0/sowanna/_bridge/ucrtbase.dll +0 -0
- sowanna-0.1.0/sowanna/bridge.py +185 -0
- sowanna-0.1.0/sowanna/charm_enhance.py +193 -0
- sowanna-0.1.0/sowanna/cli.py +175 -0
- sowanna-0.1.0/sowanna/engine.py +166 -0
- sowanna-0.1.0/sowanna/facades.py +247 -0
- sowanna-0.1.0/sowanna/manifest.py +190 -0
- sowanna-0.1.0/sowanna/protocol.py +74 -0
- sowanna-0.1.0/sowanna/stubs.py +127 -0
- sowanna-0.1.0/sowanna/version.py +1 -0
- sowanna-0.1.0/tests/test_sowanna.py +412 -0
sowanna-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: Sowanna
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Мост между Python и C#: вызывайте C#-код из Python через JSON-протокол и Bridge.exe.
|
|
5
|
+
Author-email: CharmLxt <reception.mailspypi@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/CharmLxt/Sowanna
|
|
8
|
+
Project-URL: Source, https://github.com/CharmLxt/Sowanna
|
|
9
|
+
Project-URL: Tracker, https://github.com/CharmLxt/Sowanna/issues
|
|
10
|
+
Keywords: csharp,dotnet,interop,bridge,python,sowanna,charmpkk
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: C#
|
|
16
|
+
Classifier: Environment :: Console
|
|
17
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
18
|
+
Requires-Python: >=3.8
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
Provides-Extra: charm
|
|
21
|
+
Requires-Dist: CharmPkk>=31.10.26b1; extra == "charm"
|
|
22
|
+
|
|
23
|
+
Sowanna. Версия 0.1.0. Автор CharmLxt (PyPI: CharmLxt, email: reception.mailspypi@gmail.com). Ссылка на GitHub: https://github.com/CharmLxt/Sowanna.
|
|
24
|
+
|
|
25
|
+
Sowanna — это библиотека, которая позволяет вызывать методы C# из Python так, будто они Python-функции. Вы пишете C#-проект в своей IDE (Dev C++ Embarcadero, Visual Studio, Rider, что угодно, что умеет .NET), компилируете его в обычную .dll, описываете проект в маленьком JSON-манифесте с расширением .pycsh, и дальше из Python вызываете методы по имени. Ядро бриджа написано на C# — это Bridge.exe, который загружает вашу .dll через рефлексию и держит её в памяти, обмениваясь с Python короткими JSON-сообщениями по stdin/stdout. Никаких сторонних зависимостей в Python, никакого pythonnet, никакого ctypes — только стандартная библиотека и запущенный Bridge.exe.
|
|
26
|
+
|
|
27
|
+
Как это работает. В папке вашего C#-проекта рядом с .csproj лежит файл sowanna.pycsh — это манифест в формате JSON. В нём указано имя проекта, версия, имя скомпилированной .dll, полное имя класса-точки-входа (namespace.class) и опционально список методов с описанием аргументов. Python-сторона Sowanna читает манифест, находит .dll, поднимает Bridge.exe и передаёт в него путь к .dll и имя класса. Bridge загружает сборку, находит класс и дальше на каждый запрос вызывает указанный статический метод через reflection. Каждый запрос — одна строка JSON вида {"id": 1, "method": "Add", "args": [2, 3]} и ответ тоже одна строка. Bridge.exe не перезапускается между вызовами в пределах одной сессии.
|
|
28
|
+
|
|
29
|
+
Обратный вызов Python из C#. В 0.1.0 добавлен настоящий двунаправленный канал. Если в вашем entry-классе объявить публичное статическое поле CallbackHandler типа Func<string, object[], object?>, Bridge.exe автоматически подставит туда свой обработчик после загрузки сборки. Дальше в любом C#-методе вы вызываете CallbackHandler("some_name", new object[]{a, b}) — Bridge отправляет в Python сообщение callback, Python находит зарегистрированный callback по имени (через v.register_callback("some_name", func)), вызывает его, отправляет обратно результат (или ошибку), Bridge получает и возвращает C#-методу. Всё это происходит в том же процессе и в том же потоке, без дополнительных pipe. Пример из HelloWorld: C#-метод CallPythonSum(a, b) вызывает Python-callback "sum" и возвращает его результат. Python-сторона регистрирует v.register_callback("sum", lambda a, b: a + b), и v.CallPythonSum(10, 20) возвращает 30. Протокол обратно совместим: старые сообщения без поля kind считаются обычными response, добавление callback не ломает ничего, что уже работало.
|
|
30
|
+
|
|
31
|
+
Генератор .pyi стабов. Команда sowanna stubs path\to\sowanna.pycsh читает манифест и создаёт рядом файл .pyi с описанием класса и всех методов, с маппингом C#-типов в Python-типы (int → int, string → str, int[] → List[int], bool → bool, void → None, double[] → List[float], всё неизвестное → Any). Если положить этот .pyi рядом с .py-обёрткой, VS Code и PyCharm начнут подсказывать автодополнение для ваших методов, даже если реально они вызываются через getattr. Опция --output указывает явный путь, --class-name задаёт имя класса в стабах (по умолчанию берётся последний сегмент entry_class, то есть "Entry" для "HelloWorld.Entry"). Файл .pyi — это чистый generated code, регенерируется одной командой, никакой ручной правки не требует.
|
|
32
|
+
|
|
33
|
+
Self-contained publish. По умолчанию Bridge собирается framework-dependent: Bridge.exe весит около 500 КБ, но требует установленного .NET 6 Runtime на машине, где Sowanna запускается. Если вы хотите распространять Sowanna-приложение на машины без .NET Runtime, соберите Bridge один раз с флагом .\build.ps1 -SelfContained. Тогда .exe вырастет примерно до 60-70 МБ, но будет работать на любой Windows-машине без установленного .NET. Флаг -SingleFile дополнительно упаковывает всё в один .exe (для 0.1.0 не рекомендую: reflection-based загрузка вашей .dll работает, но сам Bridge.exe станет чуть медленнее стартовать). Флаг -Runtime задаёт RID, по умолчанию win-x64, доступны win-x86, win-arm64, linux-x64 и другие, но примеры в репозитории проверялись только под Windows.
|
|
34
|
+
|
|
35
|
+
Три фасада. VovSC (Value of vectors Sharp Code) — универсальный, режим auto: держит один долгоживущий Bridge-процесс, если процесс умер — перезапускает. Хорош для интерактивной работы. UniPlcahCSC (Unical Python lite code and heavy C Sharp Code) — режим «всегда новый процесс», с health-check, рестартом и circuit breaker: после max_failures подряд переходит в «открытое» состояние и отказывается запускать новые вызовы до истечения cooldown секунд. Подходит для пакетной обработки, где один упавший C#-метод не должен уронить всю сессию. minpyAovCS (minimal python and Overall C Sharp) — C#-первый дизайн: вы даёте путь к .dll и полное имя класса, фасад сам создаёт рядом манифест и предоставляет доступ по имени метода. Все три фасада используют один engine и один Bridge.exe, различие только в политике жизненного цикла.
|
|
36
|
+
|
|
37
|
+
Что нужно установить. Python 3.8+ и .NET SDK 6.0 или новее (сейчас Sowanna проверялась на SDK 6.0.428). Один раз соберите Bridge.exe: cd Sowanna\bridge, потом .\build.ps1. Скрипт вызовет dotnet publish и положит Bridge.exe, Bridge.dll, Bridge.runtimeconfig.json и Bridge.deps.json в sowanna_bridge, откуда Sowanna автоматически их подхватит. Для self-contained версии: .\build.ps1 -SelfContained.
|
|
38
|
+
|
|
39
|
+
Для чего это. Для случаев, когда у вас уже есть тяжёлая C#-библиотека (математика, обработка изображений, работа с железом, что-то из .NET-экосистемы), и вы не хотите переписывать её на Python. Или для случаев, когда C#-часть удобнее писать отдельно в нормальной IDE, а Python остаётся оркестратором. Или для случаев, когда критичный участок нужно вынести в отдельный процесс с изоляцией — тогда UniPlcahCSC даёт вам автоматический рестарт и circuit breaker.
|
|
40
|
+
|
|
41
|
+
Чего Sowanna не делает. Не компилирует ваш C# из Python — компилируйте сами в своей IDE, это честнее и предсказуемее. Не поддерживает async/await на C#-стороне в 0.1.0 — только синхронные статические методы. Не поддерживает generics на стороне Python — только конкретные перегрузки методов с известными аргументами (и overloads тоже не поддерживаются: если у класса два метода Add с разными аргументами, будет ошибка AmbiguousMatch). Не делает автоматический рестарт Bridge.exe посреди callback-сессии (если процесс умер во время callback, Python получит BridgeCrashedError и увидит stderr от Bridge).
|
|
42
|
+
|
|
43
|
+
Для красивых сообщений Sowanna мягко интегрируется с CharmPkk (как и все остальные наши библиотеки): если CharmPkk установлен, баннеры, таблицы и ошибки будут цветными, если нет — обычный print. Установка: pip install Sowanna, опционально pip install "Sowanna[charm]". Связь с автором: reception.mailspypi@gmail.com.
|
sowanna-0.1.0/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Sowanna. Версия 0.1.0. Автор CharmLxt (PyPI: CharmLxt, email: reception.mailspypi@gmail.com). Ссылка на GitHub: https://github.com/CharmLxt/Sowanna.
|
|
2
|
+
|
|
3
|
+
Sowanna — это библиотека, которая позволяет вызывать методы C# из Python так, будто они Python-функции. Вы пишете C#-проект в своей IDE (Dev C++ Embarcadero, Visual Studio, Rider, что угодно, что умеет .NET), компилируете его в обычную .dll, описываете проект в маленьком JSON-манифесте с расширением .pycsh, и дальше из Python вызываете методы по имени. Ядро бриджа написано на C# — это Bridge.exe, который загружает вашу .dll через рефлексию и держит её в памяти, обмениваясь с Python короткими JSON-сообщениями по stdin/stdout. Никаких сторонних зависимостей в Python, никакого pythonnet, никакого ctypes — только стандартная библиотека и запущенный Bridge.exe.
|
|
4
|
+
|
|
5
|
+
Как это работает. В папке вашего C#-проекта рядом с .csproj лежит файл sowanna.pycsh — это манифест в формате JSON. В нём указано имя проекта, версия, имя скомпилированной .dll, полное имя класса-точки-входа (namespace.class) и опционально список методов с описанием аргументов. Python-сторона Sowanna читает манифест, находит .dll, поднимает Bridge.exe и передаёт в него путь к .dll и имя класса. Bridge загружает сборку, находит класс и дальше на каждый запрос вызывает указанный статический метод через reflection. Каждый запрос — одна строка JSON вида {"id": 1, "method": "Add", "args": [2, 3]} и ответ тоже одна строка. Bridge.exe не перезапускается между вызовами в пределах одной сессии.
|
|
6
|
+
|
|
7
|
+
Обратный вызов Python из C#. В 0.1.0 добавлен настоящий двунаправленный канал. Если в вашем entry-классе объявить публичное статическое поле CallbackHandler типа Func<string, object[], object?>, Bridge.exe автоматически подставит туда свой обработчик после загрузки сборки. Дальше в любом C#-методе вы вызываете CallbackHandler("some_name", new object[]{a, b}) — Bridge отправляет в Python сообщение callback, Python находит зарегистрированный callback по имени (через v.register_callback("some_name", func)), вызывает его, отправляет обратно результат (или ошибку), Bridge получает и возвращает C#-методу. Всё это происходит в том же процессе и в том же потоке, без дополнительных pipe. Пример из HelloWorld: C#-метод CallPythonSum(a, b) вызывает Python-callback "sum" и возвращает его результат. Python-сторона регистрирует v.register_callback("sum", lambda a, b: a + b), и v.CallPythonSum(10, 20) возвращает 30. Протокол обратно совместим: старые сообщения без поля kind считаются обычными response, добавление callback не ломает ничего, что уже работало.
|
|
8
|
+
|
|
9
|
+
Генератор .pyi стабов. Команда sowanna stubs path\to\sowanna.pycsh читает манифест и создаёт рядом файл .pyi с описанием класса и всех методов, с маппингом C#-типов в Python-типы (int → int, string → str, int[] → List[int], bool → bool, void → None, double[] → List[float], всё неизвестное → Any). Если положить этот .pyi рядом с .py-обёрткой, VS Code и PyCharm начнут подсказывать автодополнение для ваших методов, даже если реально они вызываются через getattr. Опция --output указывает явный путь, --class-name задаёт имя класса в стабах (по умолчанию берётся последний сегмент entry_class, то есть "Entry" для "HelloWorld.Entry"). Файл .pyi — это чистый generated code, регенерируется одной командой, никакой ручной правки не требует.
|
|
10
|
+
|
|
11
|
+
Self-contained publish. По умолчанию Bridge собирается framework-dependent: Bridge.exe весит около 500 КБ, но требует установленного .NET 6 Runtime на машине, где Sowanna запускается. Если вы хотите распространять Sowanna-приложение на машины без .NET Runtime, соберите Bridge один раз с флагом .\build.ps1 -SelfContained. Тогда .exe вырастет примерно до 60-70 МБ, но будет работать на любой Windows-машине без установленного .NET. Флаг -SingleFile дополнительно упаковывает всё в один .exe (для 0.1.0 не рекомендую: reflection-based загрузка вашей .dll работает, но сам Bridge.exe станет чуть медленнее стартовать). Флаг -Runtime задаёт RID, по умолчанию win-x64, доступны win-x86, win-arm64, linux-x64 и другие, но примеры в репозитории проверялись только под Windows.
|
|
12
|
+
|
|
13
|
+
Три фасада. VovSC (Value of vectors Sharp Code) — универсальный, режим auto: держит один долгоживущий Bridge-процесс, если процесс умер — перезапускает. Хорош для интерактивной работы. UniPlcahCSC (Unical Python lite code and heavy C Sharp Code) — режим «всегда новый процесс», с health-check, рестартом и circuit breaker: после max_failures подряд переходит в «открытое» состояние и отказывается запускать новые вызовы до истечения cooldown секунд. Подходит для пакетной обработки, где один упавший C#-метод не должен уронить всю сессию. minpyAovCS (minimal python and Overall C Sharp) — C#-первый дизайн: вы даёте путь к .dll и полное имя класса, фасад сам создаёт рядом манифест и предоставляет доступ по имени метода. Все три фасада используют один engine и один Bridge.exe, различие только в политике жизненного цикла.
|
|
14
|
+
|
|
15
|
+
Что нужно установить. Python 3.8+ и .NET SDK 6.0 или новее (сейчас Sowanna проверялась на SDK 6.0.428). Один раз соберите Bridge.exe: cd Sowanna\bridge, потом .\build.ps1. Скрипт вызовет dotnet publish и положит Bridge.exe, Bridge.dll, Bridge.runtimeconfig.json и Bridge.deps.json в sowanna_bridge, откуда Sowanna автоматически их подхватит. Для self-contained версии: .\build.ps1 -SelfContained.
|
|
16
|
+
|
|
17
|
+
Для чего это. Для случаев, когда у вас уже есть тяжёлая C#-библиотека (математика, обработка изображений, работа с железом, что-то из .NET-экосистемы), и вы не хотите переписывать её на Python. Или для случаев, когда C#-часть удобнее писать отдельно в нормальной IDE, а Python остаётся оркестратором. Или для случаев, когда критичный участок нужно вынести в отдельный процесс с изоляцией — тогда UniPlcahCSC даёт вам автоматический рестарт и circuit breaker.
|
|
18
|
+
|
|
19
|
+
Чего Sowanna не делает. Не компилирует ваш C# из Python — компилируйте сами в своей IDE, это честнее и предсказуемее. Не поддерживает async/await на C#-стороне в 0.1.0 — только синхронные статические методы. Не поддерживает generics на стороне Python — только конкретные перегрузки методов с известными аргументами (и overloads тоже не поддерживаются: если у класса два метода Add с разными аргументами, будет ошибка AmbiguousMatch). Не делает автоматический рестарт Bridge.exe посреди callback-сессии (если процесс умер во время callback, Python получит BridgeCrashedError и увидит stderr от Bridge).
|
|
20
|
+
|
|
21
|
+
Для красивых сообщений Sowanna мягко интегрируется с CharmPkk (как и все остальные наши библиотеки): если CharmPkk установлен, баннеры, таблицы и ошибки будут цветными, если нет — обычный print. Установка: pip install Sowanna, опционально pip install "Sowanna[charm]". Связь с автором: reception.mailspypi@gmail.com.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: Sowanna
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Мост между Python и C#: вызывайте C#-код из Python через JSON-протокол и Bridge.exe.
|
|
5
|
+
Author-email: CharmLxt <reception.mailspypi@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/CharmLxt/Sowanna
|
|
8
|
+
Project-URL: Source, https://github.com/CharmLxt/Sowanna
|
|
9
|
+
Project-URL: Tracker, https://github.com/CharmLxt/Sowanna/issues
|
|
10
|
+
Keywords: csharp,dotnet,interop,bridge,python,sowanna,charmpkk
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: C#
|
|
16
|
+
Classifier: Environment :: Console
|
|
17
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
18
|
+
Requires-Python: >=3.8
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
Provides-Extra: charm
|
|
21
|
+
Requires-Dist: CharmPkk>=31.10.26b1; extra == "charm"
|
|
22
|
+
|
|
23
|
+
Sowanna. Версия 0.1.0. Автор CharmLxt (PyPI: CharmLxt, email: reception.mailspypi@gmail.com). Ссылка на GitHub: https://github.com/CharmLxt/Sowanna.
|
|
24
|
+
|
|
25
|
+
Sowanna — это библиотека, которая позволяет вызывать методы C# из Python так, будто они Python-функции. Вы пишете C#-проект в своей IDE (Dev C++ Embarcadero, Visual Studio, Rider, что угодно, что умеет .NET), компилируете его в обычную .dll, описываете проект в маленьком JSON-манифесте с расширением .pycsh, и дальше из Python вызываете методы по имени. Ядро бриджа написано на C# — это Bridge.exe, который загружает вашу .dll через рефлексию и держит её в памяти, обмениваясь с Python короткими JSON-сообщениями по stdin/stdout. Никаких сторонних зависимостей в Python, никакого pythonnet, никакого ctypes — только стандартная библиотека и запущенный Bridge.exe.
|
|
26
|
+
|
|
27
|
+
Как это работает. В папке вашего C#-проекта рядом с .csproj лежит файл sowanna.pycsh — это манифест в формате JSON. В нём указано имя проекта, версия, имя скомпилированной .dll, полное имя класса-точки-входа (namespace.class) и опционально список методов с описанием аргументов. Python-сторона Sowanna читает манифест, находит .dll, поднимает Bridge.exe и передаёт в него путь к .dll и имя класса. Bridge загружает сборку, находит класс и дальше на каждый запрос вызывает указанный статический метод через reflection. Каждый запрос — одна строка JSON вида {"id": 1, "method": "Add", "args": [2, 3]} и ответ тоже одна строка. Bridge.exe не перезапускается между вызовами в пределах одной сессии.
|
|
28
|
+
|
|
29
|
+
Обратный вызов Python из C#. В 0.1.0 добавлен настоящий двунаправленный канал. Если в вашем entry-классе объявить публичное статическое поле CallbackHandler типа Func<string, object[], object?>, Bridge.exe автоматически подставит туда свой обработчик после загрузки сборки. Дальше в любом C#-методе вы вызываете CallbackHandler("some_name", new object[]{a, b}) — Bridge отправляет в Python сообщение callback, Python находит зарегистрированный callback по имени (через v.register_callback("some_name", func)), вызывает его, отправляет обратно результат (или ошибку), Bridge получает и возвращает C#-методу. Всё это происходит в том же процессе и в том же потоке, без дополнительных pipe. Пример из HelloWorld: C#-метод CallPythonSum(a, b) вызывает Python-callback "sum" и возвращает его результат. Python-сторона регистрирует v.register_callback("sum", lambda a, b: a + b), и v.CallPythonSum(10, 20) возвращает 30. Протокол обратно совместим: старые сообщения без поля kind считаются обычными response, добавление callback не ломает ничего, что уже работало.
|
|
30
|
+
|
|
31
|
+
Генератор .pyi стабов. Команда sowanna stubs path\to\sowanna.pycsh читает манифест и создаёт рядом файл .pyi с описанием класса и всех методов, с маппингом C#-типов в Python-типы (int → int, string → str, int[] → List[int], bool → bool, void → None, double[] → List[float], всё неизвестное → Any). Если положить этот .pyi рядом с .py-обёрткой, VS Code и PyCharm начнут подсказывать автодополнение для ваших методов, даже если реально они вызываются через getattr. Опция --output указывает явный путь, --class-name задаёт имя класса в стабах (по умолчанию берётся последний сегмент entry_class, то есть "Entry" для "HelloWorld.Entry"). Файл .pyi — это чистый generated code, регенерируется одной командой, никакой ручной правки не требует.
|
|
32
|
+
|
|
33
|
+
Self-contained publish. По умолчанию Bridge собирается framework-dependent: Bridge.exe весит около 500 КБ, но требует установленного .NET 6 Runtime на машине, где Sowanna запускается. Если вы хотите распространять Sowanna-приложение на машины без .NET Runtime, соберите Bridge один раз с флагом .\build.ps1 -SelfContained. Тогда .exe вырастет примерно до 60-70 МБ, но будет работать на любой Windows-машине без установленного .NET. Флаг -SingleFile дополнительно упаковывает всё в один .exe (для 0.1.0 не рекомендую: reflection-based загрузка вашей .dll работает, но сам Bridge.exe станет чуть медленнее стартовать). Флаг -Runtime задаёт RID, по умолчанию win-x64, доступны win-x86, win-arm64, linux-x64 и другие, но примеры в репозитории проверялись только под Windows.
|
|
34
|
+
|
|
35
|
+
Три фасада. VovSC (Value of vectors Sharp Code) — универсальный, режим auto: держит один долгоживущий Bridge-процесс, если процесс умер — перезапускает. Хорош для интерактивной работы. UniPlcahCSC (Unical Python lite code and heavy C Sharp Code) — режим «всегда новый процесс», с health-check, рестартом и circuit breaker: после max_failures подряд переходит в «открытое» состояние и отказывается запускать новые вызовы до истечения cooldown секунд. Подходит для пакетной обработки, где один упавший C#-метод не должен уронить всю сессию. minpyAovCS (minimal python and Overall C Sharp) — C#-первый дизайн: вы даёте путь к .dll и полное имя класса, фасад сам создаёт рядом манифест и предоставляет доступ по имени метода. Все три фасада используют один engine и один Bridge.exe, различие только в политике жизненного цикла.
|
|
36
|
+
|
|
37
|
+
Что нужно установить. Python 3.8+ и .NET SDK 6.0 или новее (сейчас Sowanna проверялась на SDK 6.0.428). Один раз соберите Bridge.exe: cd Sowanna\bridge, потом .\build.ps1. Скрипт вызовет dotnet publish и положит Bridge.exe, Bridge.dll, Bridge.runtimeconfig.json и Bridge.deps.json в sowanna_bridge, откуда Sowanna автоматически их подхватит. Для self-contained версии: .\build.ps1 -SelfContained.
|
|
38
|
+
|
|
39
|
+
Для чего это. Для случаев, когда у вас уже есть тяжёлая C#-библиотека (математика, обработка изображений, работа с железом, что-то из .NET-экосистемы), и вы не хотите переписывать её на Python. Или для случаев, когда C#-часть удобнее писать отдельно в нормальной IDE, а Python остаётся оркестратором. Или для случаев, когда критичный участок нужно вынести в отдельный процесс с изоляцией — тогда UniPlcahCSC даёт вам автоматический рестарт и circuit breaker.
|
|
40
|
+
|
|
41
|
+
Чего Sowanna не делает. Не компилирует ваш C# из Python — компилируйте сами в своей IDE, это честнее и предсказуемее. Не поддерживает async/await на C#-стороне в 0.1.0 — только синхронные статические методы. Не поддерживает generics на стороне Python — только конкретные перегрузки методов с известными аргументами (и overloads тоже не поддерживаются: если у класса два метода Add с разными аргументами, будет ошибка AmbiguousMatch). Не делает автоматический рестарт Bridge.exe посреди callback-сессии (если процесс умер во время callback, Python получит BridgeCrashedError и увидит stderr от Bridge).
|
|
42
|
+
|
|
43
|
+
Для красивых сообщений Sowanna мягко интегрируется с CharmPkk (как и все остальные наши библиотеки): если CharmPkk установлен, баннеры, таблицы и ошибки будут цветными, если нет — обычный print. Установка: pip install Sowanna, опционально pip install "Sowanna[charm]". Связь с автором: reception.mailspypi@gmail.com.
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
Sowanna.egg-info/PKG-INFO
|
|
4
|
+
Sowanna.egg-info/SOURCES.txt
|
|
5
|
+
Sowanna.egg-info/dependency_links.txt
|
|
6
|
+
Sowanna.egg-info/entry_points.txt
|
|
7
|
+
Sowanna.egg-info/requires.txt
|
|
8
|
+
Sowanna.egg-info/top_level.txt
|
|
9
|
+
sowanna/__init__.py
|
|
10
|
+
sowanna/bridge.py
|
|
11
|
+
sowanna/charm_enhance.py
|
|
12
|
+
sowanna/cli.py
|
|
13
|
+
sowanna/engine.py
|
|
14
|
+
sowanna/facades.py
|
|
15
|
+
sowanna/manifest.py
|
|
16
|
+
sowanna/protocol.py
|
|
17
|
+
sowanna/stubs.py
|
|
18
|
+
sowanna/version.py
|
|
19
|
+
sowanna/_bridge/Bridge.deps.json
|
|
20
|
+
sowanna/_bridge/Bridge.dll
|
|
21
|
+
sowanna/_bridge/Bridge.exe
|
|
22
|
+
sowanna/_bridge/Bridge.pdb
|
|
23
|
+
sowanna/_bridge/Bridge.runtimeconfig.json
|
|
24
|
+
sowanna/_bridge/Microsoft.CSharp.dll
|
|
25
|
+
sowanna/_bridge/Microsoft.DiaSymReader.Native.amd64.dll
|
|
26
|
+
sowanna/_bridge/Microsoft.VisualBasic.Core.dll
|
|
27
|
+
sowanna/_bridge/Microsoft.VisualBasic.dll
|
|
28
|
+
sowanna/_bridge/Microsoft.Win32.Primitives.dll
|
|
29
|
+
sowanna/_bridge/Microsoft.Win32.Registry.dll
|
|
30
|
+
sowanna/_bridge/System.AppContext.dll
|
|
31
|
+
sowanna/_bridge/System.Buffers.dll
|
|
32
|
+
sowanna/_bridge/System.Collections.Concurrent.dll
|
|
33
|
+
sowanna/_bridge/System.Collections.Immutable.dll
|
|
34
|
+
sowanna/_bridge/System.Collections.NonGeneric.dll
|
|
35
|
+
sowanna/_bridge/System.Collections.Specialized.dll
|
|
36
|
+
sowanna/_bridge/System.Collections.dll
|
|
37
|
+
sowanna/_bridge/System.ComponentModel.Annotations.dll
|
|
38
|
+
sowanna/_bridge/System.ComponentModel.DataAnnotations.dll
|
|
39
|
+
sowanna/_bridge/System.ComponentModel.EventBasedAsync.dll
|
|
40
|
+
sowanna/_bridge/System.ComponentModel.Primitives.dll
|
|
41
|
+
sowanna/_bridge/System.ComponentModel.TypeConverter.dll
|
|
42
|
+
sowanna/_bridge/System.ComponentModel.dll
|
|
43
|
+
sowanna/_bridge/System.Configuration.dll
|
|
44
|
+
sowanna/_bridge/System.Console.dll
|
|
45
|
+
sowanna/_bridge/System.Core.dll
|
|
46
|
+
sowanna/_bridge/System.Data.Common.dll
|
|
47
|
+
sowanna/_bridge/System.Data.DataSetExtensions.dll
|
|
48
|
+
sowanna/_bridge/System.Data.dll
|
|
49
|
+
sowanna/_bridge/System.Diagnostics.Contracts.dll
|
|
50
|
+
sowanna/_bridge/System.Diagnostics.Debug.dll
|
|
51
|
+
sowanna/_bridge/System.Diagnostics.DiagnosticSource.dll
|
|
52
|
+
sowanna/_bridge/System.Diagnostics.FileVersionInfo.dll
|
|
53
|
+
sowanna/_bridge/System.Diagnostics.Process.dll
|
|
54
|
+
sowanna/_bridge/System.Diagnostics.StackTrace.dll
|
|
55
|
+
sowanna/_bridge/System.Diagnostics.TextWriterTraceListener.dll
|
|
56
|
+
sowanna/_bridge/System.Diagnostics.Tools.dll
|
|
57
|
+
sowanna/_bridge/System.Diagnostics.TraceSource.dll
|
|
58
|
+
sowanna/_bridge/System.Diagnostics.Tracing.dll
|
|
59
|
+
sowanna/_bridge/System.Drawing.Primitives.dll
|
|
60
|
+
sowanna/_bridge/System.Drawing.dll
|
|
61
|
+
sowanna/_bridge/System.Dynamic.Runtime.dll
|
|
62
|
+
sowanna/_bridge/System.Formats.Asn1.dll
|
|
63
|
+
sowanna/_bridge/System.Globalization.Calendars.dll
|
|
64
|
+
sowanna/_bridge/System.Globalization.Extensions.dll
|
|
65
|
+
sowanna/_bridge/System.Globalization.dll
|
|
66
|
+
sowanna/_bridge/System.IO.Compression.Brotli.dll
|
|
67
|
+
sowanna/_bridge/System.IO.Compression.FileSystem.dll
|
|
68
|
+
sowanna/_bridge/System.IO.Compression.Native.dll
|
|
69
|
+
sowanna/_bridge/System.IO.Compression.ZipFile.dll
|
|
70
|
+
sowanna/_bridge/System.IO.Compression.dll
|
|
71
|
+
sowanna/_bridge/System.IO.FileSystem.AccessControl.dll
|
|
72
|
+
sowanna/_bridge/System.IO.FileSystem.DriveInfo.dll
|
|
73
|
+
sowanna/_bridge/System.IO.FileSystem.Primitives.dll
|
|
74
|
+
sowanna/_bridge/System.IO.FileSystem.Watcher.dll
|
|
75
|
+
sowanna/_bridge/System.IO.FileSystem.dll
|
|
76
|
+
sowanna/_bridge/System.IO.IsolatedStorage.dll
|
|
77
|
+
sowanna/_bridge/System.IO.MemoryMappedFiles.dll
|
|
78
|
+
sowanna/_bridge/System.IO.Pipes.AccessControl.dll
|
|
79
|
+
sowanna/_bridge/System.IO.Pipes.dll
|
|
80
|
+
sowanna/_bridge/System.IO.UnmanagedMemoryStream.dll
|
|
81
|
+
sowanna/_bridge/System.IO.dll
|
|
82
|
+
sowanna/_bridge/System.Linq.Expressions.dll
|
|
83
|
+
sowanna/_bridge/System.Linq.Parallel.dll
|
|
84
|
+
sowanna/_bridge/System.Linq.Queryable.dll
|
|
85
|
+
sowanna/_bridge/System.Linq.dll
|
|
86
|
+
sowanna/_bridge/System.Memory.dll
|
|
87
|
+
sowanna/_bridge/System.Net.Http.Json.dll
|
|
88
|
+
sowanna/_bridge/System.Net.Http.dll
|
|
89
|
+
sowanna/_bridge/System.Net.HttpListener.dll
|
|
90
|
+
sowanna/_bridge/System.Net.Mail.dll
|
|
91
|
+
sowanna/_bridge/System.Net.NameResolution.dll
|
|
92
|
+
sowanna/_bridge/System.Net.NetworkInformation.dll
|
|
93
|
+
sowanna/_bridge/System.Net.Ping.dll
|
|
94
|
+
sowanna/_bridge/System.Net.Primitives.dll
|
|
95
|
+
sowanna/_bridge/System.Net.Quic.dll
|
|
96
|
+
sowanna/_bridge/System.Net.Requests.dll
|
|
97
|
+
sowanna/_bridge/System.Net.Security.dll
|
|
98
|
+
sowanna/_bridge/System.Net.ServicePoint.dll
|
|
99
|
+
sowanna/_bridge/System.Net.Sockets.dll
|
|
100
|
+
sowanna/_bridge/System.Net.WebClient.dll
|
|
101
|
+
sowanna/_bridge/System.Net.WebHeaderCollection.dll
|
|
102
|
+
sowanna/_bridge/System.Net.WebProxy.dll
|
|
103
|
+
sowanna/_bridge/System.Net.WebSockets.Client.dll
|
|
104
|
+
sowanna/_bridge/System.Net.WebSockets.dll
|
|
105
|
+
sowanna/_bridge/System.Net.dll
|
|
106
|
+
sowanna/_bridge/System.Numerics.Vectors.dll
|
|
107
|
+
sowanna/_bridge/System.Numerics.dll
|
|
108
|
+
sowanna/_bridge/System.ObjectModel.dll
|
|
109
|
+
sowanna/_bridge/System.Private.CoreLib.dll
|
|
110
|
+
sowanna/_bridge/System.Private.DataContractSerialization.dll
|
|
111
|
+
sowanna/_bridge/System.Private.Uri.dll
|
|
112
|
+
sowanna/_bridge/System.Private.Xml.Linq.dll
|
|
113
|
+
sowanna/_bridge/System.Private.Xml.dll
|
|
114
|
+
sowanna/_bridge/System.Reflection.DispatchProxy.dll
|
|
115
|
+
sowanna/_bridge/System.Reflection.Emit.ILGeneration.dll
|
|
116
|
+
sowanna/_bridge/System.Reflection.Emit.Lightweight.dll
|
|
117
|
+
sowanna/_bridge/System.Reflection.Emit.dll
|
|
118
|
+
sowanna/_bridge/System.Reflection.Extensions.dll
|
|
119
|
+
sowanna/_bridge/System.Reflection.Metadata.dll
|
|
120
|
+
sowanna/_bridge/System.Reflection.Primitives.dll
|
|
121
|
+
sowanna/_bridge/System.Reflection.TypeExtensions.dll
|
|
122
|
+
sowanna/_bridge/System.Reflection.dll
|
|
123
|
+
sowanna/_bridge/System.Resources.Reader.dll
|
|
124
|
+
sowanna/_bridge/System.Resources.ResourceManager.dll
|
|
125
|
+
sowanna/_bridge/System.Resources.Writer.dll
|
|
126
|
+
sowanna/_bridge/System.Runtime.CompilerServices.Unsafe.dll
|
|
127
|
+
sowanna/_bridge/System.Runtime.CompilerServices.VisualC.dll
|
|
128
|
+
sowanna/_bridge/System.Runtime.Extensions.dll
|
|
129
|
+
sowanna/_bridge/System.Runtime.Handles.dll
|
|
130
|
+
sowanna/_bridge/System.Runtime.InteropServices.RuntimeInformation.dll
|
|
131
|
+
sowanna/_bridge/System.Runtime.InteropServices.dll
|
|
132
|
+
sowanna/_bridge/System.Runtime.Intrinsics.dll
|
|
133
|
+
sowanna/_bridge/System.Runtime.Loader.dll
|
|
134
|
+
sowanna/_bridge/System.Runtime.Numerics.dll
|
|
135
|
+
sowanna/_bridge/System.Runtime.Serialization.Formatters.dll
|
|
136
|
+
sowanna/_bridge/System.Runtime.Serialization.Json.dll
|
|
137
|
+
sowanna/_bridge/System.Runtime.Serialization.Primitives.dll
|
|
138
|
+
sowanna/_bridge/System.Runtime.Serialization.Xml.dll
|
|
139
|
+
sowanna/_bridge/System.Runtime.Serialization.dll
|
|
140
|
+
sowanna/_bridge/System.Runtime.dll
|
|
141
|
+
sowanna/_bridge/System.Security.AccessControl.dll
|
|
142
|
+
sowanna/_bridge/System.Security.Claims.dll
|
|
143
|
+
sowanna/_bridge/System.Security.Cryptography.Algorithms.dll
|
|
144
|
+
sowanna/_bridge/System.Security.Cryptography.Cng.dll
|
|
145
|
+
sowanna/_bridge/System.Security.Cryptography.Csp.dll
|
|
146
|
+
sowanna/_bridge/System.Security.Cryptography.Encoding.dll
|
|
147
|
+
sowanna/_bridge/System.Security.Cryptography.OpenSsl.dll
|
|
148
|
+
sowanna/_bridge/System.Security.Cryptography.Primitives.dll
|
|
149
|
+
sowanna/_bridge/System.Security.Cryptography.X509Certificates.dll
|
|
150
|
+
sowanna/_bridge/System.Security.Principal.Windows.dll
|
|
151
|
+
sowanna/_bridge/System.Security.Principal.dll
|
|
152
|
+
sowanna/_bridge/System.Security.SecureString.dll
|
|
153
|
+
sowanna/_bridge/System.Security.dll
|
|
154
|
+
sowanna/_bridge/System.ServiceModel.Web.dll
|
|
155
|
+
sowanna/_bridge/System.ServiceProcess.dll
|
|
156
|
+
sowanna/_bridge/System.Text.Encoding.CodePages.dll
|
|
157
|
+
sowanna/_bridge/System.Text.Encoding.Extensions.dll
|
|
158
|
+
sowanna/_bridge/System.Text.Encoding.dll
|
|
159
|
+
sowanna/_bridge/System.Text.Encodings.Web.dll
|
|
160
|
+
sowanna/_bridge/System.Text.Json.dll
|
|
161
|
+
sowanna/_bridge/System.Text.RegularExpressions.dll
|
|
162
|
+
sowanna/_bridge/System.Threading.Channels.dll
|
|
163
|
+
sowanna/_bridge/System.Threading.Overlapped.dll
|
|
164
|
+
sowanna/_bridge/System.Threading.Tasks.Dataflow.dll
|
|
165
|
+
sowanna/_bridge/System.Threading.Tasks.Extensions.dll
|
|
166
|
+
sowanna/_bridge/System.Threading.Tasks.Parallel.dll
|
|
167
|
+
sowanna/_bridge/System.Threading.Tasks.dll
|
|
168
|
+
sowanna/_bridge/System.Threading.Thread.dll
|
|
169
|
+
sowanna/_bridge/System.Threading.ThreadPool.dll
|
|
170
|
+
sowanna/_bridge/System.Threading.Timer.dll
|
|
171
|
+
sowanna/_bridge/System.Threading.dll
|
|
172
|
+
sowanna/_bridge/System.Transactions.Local.dll
|
|
173
|
+
sowanna/_bridge/System.Transactions.dll
|
|
174
|
+
sowanna/_bridge/System.ValueTuple.dll
|
|
175
|
+
sowanna/_bridge/System.Web.HttpUtility.dll
|
|
176
|
+
sowanna/_bridge/System.Web.dll
|
|
177
|
+
sowanna/_bridge/System.Windows.dll
|
|
178
|
+
sowanna/_bridge/System.Xml.Linq.dll
|
|
179
|
+
sowanna/_bridge/System.Xml.ReaderWriter.dll
|
|
180
|
+
sowanna/_bridge/System.Xml.Serialization.dll
|
|
181
|
+
sowanna/_bridge/System.Xml.XDocument.dll
|
|
182
|
+
sowanna/_bridge/System.Xml.XPath.XDocument.dll
|
|
183
|
+
sowanna/_bridge/System.Xml.XPath.dll
|
|
184
|
+
sowanna/_bridge/System.Xml.XmlDocument.dll
|
|
185
|
+
sowanna/_bridge/System.Xml.XmlSerializer.dll
|
|
186
|
+
sowanna/_bridge/System.Xml.dll
|
|
187
|
+
sowanna/_bridge/System.dll
|
|
188
|
+
sowanna/_bridge/WindowsBase.dll
|
|
189
|
+
sowanna/_bridge/api-ms-win-core-console-l1-1-0.dll
|
|
190
|
+
sowanna/_bridge/api-ms-win-core-console-l1-2-0.dll
|
|
191
|
+
sowanna/_bridge/api-ms-win-core-datetime-l1-1-0.dll
|
|
192
|
+
sowanna/_bridge/api-ms-win-core-debug-l1-1-0.dll
|
|
193
|
+
sowanna/_bridge/api-ms-win-core-errorhandling-l1-1-0.dll
|
|
194
|
+
sowanna/_bridge/api-ms-win-core-fibers-l1-1-0.dll
|
|
195
|
+
sowanna/_bridge/api-ms-win-core-file-l1-1-0.dll
|
|
196
|
+
sowanna/_bridge/api-ms-win-core-file-l1-2-0.dll
|
|
197
|
+
sowanna/_bridge/api-ms-win-core-file-l2-1-0.dll
|
|
198
|
+
sowanna/_bridge/api-ms-win-core-handle-l1-1-0.dll
|
|
199
|
+
sowanna/_bridge/api-ms-win-core-heap-l1-1-0.dll
|
|
200
|
+
sowanna/_bridge/api-ms-win-core-interlocked-l1-1-0.dll
|
|
201
|
+
sowanna/_bridge/api-ms-win-core-libraryloader-l1-1-0.dll
|
|
202
|
+
sowanna/_bridge/api-ms-win-core-localization-l1-2-0.dll
|
|
203
|
+
sowanna/_bridge/api-ms-win-core-memory-l1-1-0.dll
|
|
204
|
+
sowanna/_bridge/api-ms-win-core-namedpipe-l1-1-0.dll
|
|
205
|
+
sowanna/_bridge/api-ms-win-core-processenvironment-l1-1-0.dll
|
|
206
|
+
sowanna/_bridge/api-ms-win-core-processthreads-l1-1-0.dll
|
|
207
|
+
sowanna/_bridge/api-ms-win-core-processthreads-l1-1-1.dll
|
|
208
|
+
sowanna/_bridge/api-ms-win-core-profile-l1-1-0.dll
|
|
209
|
+
sowanna/_bridge/api-ms-win-core-rtlsupport-l1-1-0.dll
|
|
210
|
+
sowanna/_bridge/api-ms-win-core-string-l1-1-0.dll
|
|
211
|
+
sowanna/_bridge/api-ms-win-core-synch-l1-1-0.dll
|
|
212
|
+
sowanna/_bridge/api-ms-win-core-synch-l1-2-0.dll
|
|
213
|
+
sowanna/_bridge/api-ms-win-core-sysinfo-l1-1-0.dll
|
|
214
|
+
sowanna/_bridge/api-ms-win-core-timezone-l1-1-0.dll
|
|
215
|
+
sowanna/_bridge/api-ms-win-core-util-l1-1-0.dll
|
|
216
|
+
sowanna/_bridge/api-ms-win-crt-conio-l1-1-0.dll
|
|
217
|
+
sowanna/_bridge/api-ms-win-crt-convert-l1-1-0.dll
|
|
218
|
+
sowanna/_bridge/api-ms-win-crt-environment-l1-1-0.dll
|
|
219
|
+
sowanna/_bridge/api-ms-win-crt-filesystem-l1-1-0.dll
|
|
220
|
+
sowanna/_bridge/api-ms-win-crt-heap-l1-1-0.dll
|
|
221
|
+
sowanna/_bridge/api-ms-win-crt-locale-l1-1-0.dll
|
|
222
|
+
sowanna/_bridge/api-ms-win-crt-math-l1-1-0.dll
|
|
223
|
+
sowanna/_bridge/api-ms-win-crt-multibyte-l1-1-0.dll
|
|
224
|
+
sowanna/_bridge/api-ms-win-crt-private-l1-1-0.dll
|
|
225
|
+
sowanna/_bridge/api-ms-win-crt-process-l1-1-0.dll
|
|
226
|
+
sowanna/_bridge/api-ms-win-crt-runtime-l1-1-0.dll
|
|
227
|
+
sowanna/_bridge/api-ms-win-crt-stdio-l1-1-0.dll
|
|
228
|
+
sowanna/_bridge/api-ms-win-crt-string-l1-1-0.dll
|
|
229
|
+
sowanna/_bridge/api-ms-win-crt-time-l1-1-0.dll
|
|
230
|
+
sowanna/_bridge/api-ms-win-crt-utility-l1-1-0.dll
|
|
231
|
+
sowanna/_bridge/clretwrc.dll
|
|
232
|
+
sowanna/_bridge/clrjit.dll
|
|
233
|
+
sowanna/_bridge/coreclr.dll
|
|
234
|
+
sowanna/_bridge/createdump.exe
|
|
235
|
+
sowanna/_bridge/dbgshim.dll
|
|
236
|
+
sowanna/_bridge/hostfxr.dll
|
|
237
|
+
sowanna/_bridge/hostpolicy.dll
|
|
238
|
+
sowanna/_bridge/mscordaccore.dll
|
|
239
|
+
sowanna/_bridge/mscordaccore_amd64_amd64_6.0.3624.51421.dll
|
|
240
|
+
sowanna/_bridge/mscordbi.dll
|
|
241
|
+
sowanna/_bridge/mscorlib.dll
|
|
242
|
+
sowanna/_bridge/mscorrc.dll
|
|
243
|
+
sowanna/_bridge/msquic.dll
|
|
244
|
+
sowanna/_bridge/netstandard.dll
|
|
245
|
+
sowanna/_bridge/ucrtbase.dll
|
|
246
|
+
tests/test_sowanna.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
sowanna
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "Sowanna"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Мост между Python и C#: вызывайте C#-код из Python через JSON-протокол и Bridge.exe."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.8"
|
|
11
|
+
license = { text = "MIT" }
|
|
12
|
+
authors = [{ name = "CharmLxt", email = "reception.mailspypi@gmail.com" }]
|
|
13
|
+
keywords = [
|
|
14
|
+
"csharp", "dotnet", "interop", "bridge", "python", "sowanna", "charmpkk",
|
|
15
|
+
]
|
|
16
|
+
dependencies = []
|
|
17
|
+
classifiers = [
|
|
18
|
+
"Development Status :: 3 - Alpha",
|
|
19
|
+
"Intended Audience :: Developers",
|
|
20
|
+
"License :: OSI Approved :: MIT License",
|
|
21
|
+
"Programming Language :: Python :: 3",
|
|
22
|
+
"Programming Language :: C#",
|
|
23
|
+
"Environment :: Console",
|
|
24
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
Homepage = "https://github.com/CharmLxt/Sowanna"
|
|
29
|
+
Source = "https://github.com/CharmLxt/Sowanna"
|
|
30
|
+
Tracker = "https://github.com/CharmLxt/Sowanna/issues"
|
|
31
|
+
|
|
32
|
+
[project.optional-dependencies]
|
|
33
|
+
charm = ["CharmPkk>=31.10.26b1"]
|
|
34
|
+
|
|
35
|
+
[project.scripts]
|
|
36
|
+
sowanna = "sowanna.cli:main"
|
|
37
|
+
|
|
38
|
+
[tool.setuptools.packages.find]
|
|
39
|
+
include = ["sowanna*"]
|
|
40
|
+
|
|
41
|
+
[tool.setuptools.package-data]
|
|
42
|
+
sowanna = ["_bridge/*"]
|
sowanna-0.1.0/setup.cfg
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""Sowanna — мост между Python и C# через Bridge.exe."""
|
|
2
|
+
from .version import __version__
|
|
3
|
+
from .manifest import Manifest, MethodSpec
|
|
4
|
+
from .protocol import BridgeError, ProtocolError
|
|
5
|
+
from .engine import (
|
|
6
|
+
SowannaError,
|
|
7
|
+
MissingManifestError,
|
|
8
|
+
BridgeNotBuiltError,
|
|
9
|
+
MethodNotDeclaredError,
|
|
10
|
+
BridgeCrashedError,
|
|
11
|
+
Engine,
|
|
12
|
+
)
|
|
13
|
+
from .facades import VovSC, UniPlcahCSC, minpyAovCS
|
|
14
|
+
from . import stubs
|
|
15
|
+
|
|
16
|
+
__all__ = [
|
|
17
|
+
"__version__",
|
|
18
|
+
"Manifest", "MethodSpec",
|
|
19
|
+
"BridgeError", "ProtocolError",
|
|
20
|
+
"SowannaError", "MissingManifestError", "BridgeNotBuiltError",
|
|
21
|
+
"MethodNotDeclaredError", "BridgeCrashedError", "Engine",
|
|
22
|
+
"VovSC", "UniPlcahCSC", "minpyAovCS",
|
|
23
|
+
"stubs",
|
|
24
|
+
]
|