Skip to content

Merge from renshawbay/pythonnet #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 85 commits into from
Jun 26, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
8134b33
add Python 3 support
tonyroberts May 23, 2013
acb1fac
Fix crash because Python 3 C API does not have PyNumber_Int
dlech Jun 5, 2013
3f2f677
Convert IEnumerables to python lists.
patstew Jul 2, 2013
f62eb63
Update c# project
patstew Jul 2, 2013
25481af
Add more of the PyNumber API to support mathematical operations.
patstew Jul 2, 2013
e6eac73
Add convenience functions to new Py class. Supports "using (Py.GIL())…
patstew Jul 2, 2013
0bd8c47
Use the c# dynamic functionality for python objects.
patstew Jul 2, 2013
eebe879
Create README.md
patstew Jul 2, 2013
2b1d825
Fix readme formatting.
patstew Jul 2, 2013
11bc13a
Update README.md
patstew Jul 3, 2013
69d9933
Add missing ) so sample code in README works
Sep 13, 2013
2b3868f
managed types can now be subclassed in python and override virtual me…
tonyroberts Oct 14, 2013
7e0226f
creating instances of classes that are managed types sub-classed in p…
tonyroberts Oct 16, 2013
95f123c
- Ensure python threads are always initialized, even if the main inte…
tonyroberts Oct 16, 2013
f3ff88d
merge from patstew-master
tonyroberts Oct 18, 2013
471673a
don't convert IEnumerables to python lists unless nothing else matches
tonyroberts Oct 21, 2013
f9109a0
allow base class methods to be called from derived classes either fro…
tonyroberts Oct 21, 2013
93e9ba3
fix derived types so managed classes can be declared in python by
tonyroberts Jan 10, 2014
7417342
get the constructors from the base class rather than the type when
tonyroberts Jan 10, 2014
686eba2
add unit tests to check python classes can derive from C# interfaces
tonyroberts Jan 13, 2014
afce8dc
Update README.md
tonyroberts Feb 12, 2014
f0d0aeb
set __file__, __doc__ and __class__ on ModuleObject to make the managed
tonyroberts Feb 14, 2014
ecf3237
Stop PythonDerivedType.Finalize from trying to delete any Python objects
tonyroberts May 27, 2014
14591b6
Python 3.4 compatibility (fixes #8)
tonyroberts May 28, 2014
201137a
fix an issue with Python 3.4, it does not crash anynore when throwing…
sdpython Jul 5, 2014
c122b62
revert exceptions.cs and runtime.cs as the changes in them aren't
tonyroberts Jul 8, 2014
909a537
Fix bug when calling methods with null arguments on derived types.
tonyroberts Jul 31, 2014
79457fe
catch exceptions in tp_str when calling ToString.
tonyroberts Aug 19, 2014
b64091b
Fixed call to Py_SetPythonHome and Py_SetProgramName. Added support f…
sweinst Aug 31, 2014
cfc3ef3
Subclasses written in Python can now have their properties and methods
tonyroberts Sep 2, 2014
02778b8
Fix bug in __call__ implementation when calling a base class method on
tonyroberts Sep 3, 2014
26cc77b
Merge branch 'develop' into python3
tonyroberts Sep 15, 2014
4c53587
fix setup.py to work with python3
tonyroberts Sep 15, 2014
eb825df
fix merge error (converting IEnumerable)
tonyroberts Sep 15, 2014
61e83fe
Update appveyor.yml
tonyroberts Nov 4, 2014
3ba653e
Only create a managed sub class if the python type has __namespace__ or
tonyroberts Nov 4, 2014
30cc22a
Add new tests for subclassing .net classes.
tonyroberts Nov 4, 2014
263e249
Update tests for module.__file__ and __doc__ as they now both return
tonyroberts Nov 4, 2014
5354bc9
Create a new module for importing the embedded clr.py file into as the
tonyroberts Nov 5, 2014
2019762
add a couple of prints to unit test to see what's happening in travis…
tonyroberts Nov 5, 2014
80b19e6
change module.__file__ test as the filename can be any of the System …
tonyroberts Nov 5, 2014
f8db1b8
Keep the clr module dictionary up to date in Python 3.
tonyroberts Nov 5, 2014
4527dc9
Add implementation of PyObject_Compare for Python 3.
tonyroberts Nov 5, 2014
4bc6a60
update unittests for python 3 as well as python 2.
tonyroberts Nov 6, 2014
3e522b8
Update .travis.yml
tonyroberts Nov 6, 2014
fad7ba3
Update appveyor.yml
tonyroberts Nov 6, 2014
c1faa64
Update .travis.yml
tonyroberts Nov 6, 2014
c73acfd
fix testing clr module type name in python 2 tests
tonyroberts Nov 6, 2014
b41eaaa
convert bytes to string in mono build when building for python 3
tonyroberts Nov 6, 2014
6963b12
Merge branch 'python3' of https://github.com/renshawbay/pythonnet_new…
tonyroberts Nov 6, 2014
ce0545f
Use unicode functions instead of string functions when building for p…
tonyroberts Nov 6, 2014
6eb59ec
Fix Py_Main for python 3
tonyroberts Nov 7, 2014
5062377
Changes to the monoclr build so it builds for python 3.
tonyroberts Nov 10, 2014
195513b
Fix copy and paste error in python 2 branch of the mono code.
tonyroberts Nov 10, 2014
66f0449
bug in setup.py
tonyroberts Nov 10, 2014
ee15bf4
Fix reference counting bug in Converter.ToPython.
tonyroberts Nov 26, 2014
150a900
Make sure PyObject instances are disposed cleanly.
tonyroberts Nov 27, 2014
3a65dc1
Make sure temporary dictionary is disposed correctly.
Jan 28, 2015
8f8aff9
Fix a few more temporary objects to be disposed cleanly.
Jan 28, 2015
d8e46d1
Update README.md
tonyroberts Jan 28, 2015
0852bec
Update README.md
tonyroberts Jan 28, 2015
41ff7cb
Merge pull request #2 from pythonnet/develop
tonyroberts Feb 2, 2015
42a7dca
Dispose the owned 'current' object owned by PyIter instances when no …
tonyroberts Jun 5, 2015
796611a
Dispose PyObject instances after use.
tonyroberts Jun 5, 2015
2c183ed
Merge branch 'python3' of https://github.com/renshawbay/pythonnet int…
tonyroberts Jun 5, 2015
535babc
Fix build issue with Python 3.3/3.4.
tonyroberts Jun 10, 2015
824b5c7
Fix issue copying npython to scripts.
tonyroberts Jun 15, 2015
591b374
Copy pdb files to build folder if they exist.
tonyroberts Jun 15, 2015
95638e5
Fix some issues in the import hook.
tonyroberts Jun 15, 2015
d64273e
Fix Int32 conversion for Python 3.
tonyroberts Jun 15, 2015
cc7fe9a
When shutting down don't delete any Python objects after Py_Finalize has
tonyroberts Jun 16, 2015
5e2e708
Fix decref of locals in RunString.
tonyroberts Jun 17, 2015
5b9e0dd
Revert accidental change in last commit.
tonyroberts Jun 17, 2015
c7db273
Set LD_LIBRARY_PATH before starting Mono.
tonyroberts Jun 23, 2015
9b2d6f2
Fix clr module to work without npython.
tonyroberts Jun 23, 2015
9afa91d
Update README.md
tonyroberts Jun 23, 2015
0ec51a3
Update CI scripts now npython is no longer used.
tonyroberts Jun 24, 2015
497b638
Merge branch 'python3' of github.com:renshawbay/pythonnet into python3
tonyroberts Jun 24, 2015
88aa3c4
Fixes for OSX.
tonyroberts Jun 24, 2015
3c3919d
Set a logical name for the clr.py resource.
tonyroberts Jun 24, 2015
9d96da5
Merge pull request #6 from renshawbay/osx
tonyroberts Jun 24, 2015
aad52dc
Merge branch 'develop' of https://github.com/pythonnet/pythonnet into…
tonyroberts Jun 25, 2015
ff7d4ac
Merge branch 'pythonnet-develop' into python3
tonyroberts Jun 25, 2015
1ee7031
Add Python 3 dlls to dll map.
tonyroberts Jun 25, 2015
dd2dcd0
Update README.md
tonyroberts Jun 26, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ language: python
python:
- 2.6
- 2.7
- 3.2
- 3.4
before_install:
- sudo apt-get install software-properties-common
- sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu/ trusty main universe"
Expand All @@ -12,7 +14,8 @@ before_install:
- yes | sudo certmgr -ssl -m https://nugetgallery.blob.core.windows.net
- yes | sudo certmgr -ssl -m https://nuget.org
install:
- pip install six
- python setup.py build_ext --inplace
script:
- export PYTHONPATH=`pwd`
- ./npython src/tests/runtests.py
- export PYTHONPATH=`pwd`:$PYTHONPATH
- python src/tests/runtests.py
6 changes: 6 additions & 0 deletions Python.Runtime.dll.config
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,16 @@ For more information read:
<dllmap dll="python25" target="libpython2.5.so" os="!windows" />
<dllmap dll="python26" target="libpython2.6.so" os="!windows" />
<dllmap dll="python27" target="libpython2.7.so" os="!windows" />
<dllmap dll="python32" target="libpython3.2.so" os="!windows" />
<dllmap dll="python33" target="libpython3.3.so" os="!windows" />
<dllmap dll="python34" target="libpython3.4.so" os="!windows" />
<dllmap dll="python23.dll" target="libpython2.3.so" os="!windows" />
<dllmap dll="python24.dll" target="libpython2.4.so" os="!windows" />
<dllmap dll="python25.dll" target="libpython2.5.so" os="!windows" />
<dllmap dll="python26.dll" target="libpython2.6.so" os="!windows" />
<dllmap dll="python27.dll" target="libpython2.7.so" os="!windows" />
<dllmap dll="python32.dll" target="libpython3.2.so" os="!windows" />
<dllmap dll="python33.dll" target="libpython3.3.so" os="!windows" />
<dllmap dll="python34.dll" target="libpython3.4.so" os="!windows" />
</configuration>

190 changes: 190 additions & 0 deletions Python.Test.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6F401A34-273B-450F-9A4C-13550BE0767B}</ProjectGuid>
<OutputType>Library</OutputType>
<NoStandardLibraries>false</NoStandardLibraries>
<AssemblyName>Python.Test</AssemblyName>
<RootNamespace>Python.Test</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>.\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>.\bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'EmbeddingTest|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\EmbeddingTest\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'UnitTests|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\UnitTests\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'EmbeddingTest|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\EmbeddingTest\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>true</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UnitTests|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\UnitTests\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>true</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugMono_x86|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\DebugMono_x86\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugMono_x86|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugMono_x86\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'EmbeddingTest|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\EmbeddingTest\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>true</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UnitTests|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\UnitTests\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>true</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugMono_x86|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\DebugMono_x86\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<ItemGroup>
<Compile Include="arraytest.cs" />
<Compile Include="subclasstest.cs" />
<Compile Include="classtest.cs" />
<Compile Include="constructortests.cs" />
<Compile Include="conversiontest.cs" />
<Compile Include="delegatetest.cs" />
<Compile Include="enumtest.cs" />
<Compile Include="eventtest.cs" />
<Compile Include="exceptiontest.cs" />
<Compile Include="fieldtest.cs" />
<Compile Include="generictest.cs" />
<Compile Include="globaltest.cs" />
<Compile Include="indexertest.cs" />
<Compile Include="interfacetest.cs" />
<Compile Include="methodtest.cs" />
<Compile Include="propertytest.cs" />
<Compile Include="threadtest.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\runtime\Python.Runtime.csproj">
<Project>{097B4AC0-74E9-4C58-BCF8-C69746EC8271}</Project>
<Name>Python.Runtime</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<ProjectExtensions>
<VisualStudio AllowExistingFolder="true" />
</ProjectExtensions>
<PropertyGroup>
<PostBuildEvent>copy "$(TargetPath)" "$(SolutionDir)"
copy "$(TargetDir)*.pdb" "$(SolutionDir)"
</PostBuildEvent>
</PropertyGroup>
</Project>
61 changes: 58 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,63 @@
pythonnet
=========

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.
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. It allows Python code to interact with the CLR, and may also be used to embed Python into a .NET application.

[![Build Status](https://travis-ci.org/pythonnet/pythonnet.png?branch=develop)](https://travis-ci.org/pythonnet/pythonnet)
[![Build Status](https://travis-ci.org/pythonnet/pythonnet.png?branch=master)](https://travis-ci.org/pythonnet/pythonnet)

[![Build status](https://ci.appveyor.com/api/projects/status/65riiu1hvgaxsbwb)](https://ci.appveyor.com/project/davidanthoff/pythonnet)
[![Build status](https://ci.appveyor.com/api/projects/status/c8k0miljb3n1c7be/branch/master)](https://ci.appveyor.com/project/TonyRoberts/pythonnet-480xs)

**Calling .NET code from Python**

Python for .NET allows CLR namespaces to be treated essentially as Python packages.

```python
import clr
from System import String
from System.Collections import *
```
To load an assembly, use the "AddReference" function in the "clr" module:

```python
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import Form
```

**Embedding Python in .NET**

+ All calls to python should be inside a "using (Py.GIL()) {/* Your code here */}" block.
+ Import python modules using dynamic mod = Py.Import("mod"), then you can call functions as normal, eg mod.func(args).
+ Use mod.func(args, Py.kw("keywordargname", keywordargvalue)) to apply keyword arguments.
+ All python objects should be declared as 'dynamic' type.
+ Mathematical operations involving python and literal/managed types must have the python object first, eg np.pi*2 works, 2*np.pi doesn't

EG:
```csharp
static void Main(string[] args)
{
using (Py.GIL()) {
dynamic np = Py.Import("numpy");
dynamic sin = np.sin;
Console.WriteLine(np.cos(np.pi*2));
Console.WriteLine(sin(5));
double c = np.cos(5) + sin(5);
Console.WriteLine(c);
dynamic a = np.array(new List<float> { 1, 2, 3 });
dynamic b = np.array(new List<float> { 6, 5, 4 }, Py.kw("dtype", np.int32));
Console.WriteLine(a.dtype);
Console.WriteLine(b.dtype);
Console.WriteLine(a * b);
Console.ReadKey();
}
}
```
outputs:
```
1.0
-0.958924274663
-0.6752620892
float64
int32
[ 6. 10. 12.]
```
6 changes: 5 additions & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ environment:
- pythonurl: http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi
- pythonurl: http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi
- pythonurl: http://www.python.org/ftp/python/2.6.6/python-2.6.6.amd64.msi
- pythonurl: http://www.python.org/ftp/python/3.2.3/python-3.2.3.msi
- pythonurl: http://www.python.org/ftp/python/3.2.3/python-3.2.3.amd64.msi
- pythonurl: http://www.python.org/ftp/python/3.4.2/python-3.4.2.msi
- pythonurl: http://www.python.org/ftp/python/3.4.2/python-3.4.2.amd64.msi

install:
- ps: (new-object net.webclient).DownloadFile($env:pythonurl, 'C:\python.msi')
Expand All @@ -19,6 +23,7 @@ install:
- set PATH=C:\Python;%PATH%
- C:\Python\python.exe c:\get-pip.py
- C:\Python\Scripts\pip.exe install wheel
- C:\Python\Scripts\pip.exe install six

build_script:
- C:\python\python.exe setup.py bdist_wheel
Expand All @@ -28,4 +33,3 @@ test_script:
- mkdir c:\testdir
- ps: copy-item (gci -path build -re -include Python.Test.dll)[0].FullName c:\testdir
- c:\python\python.exe src\tests\runtests.py
- c:\python\scripts\npython.exe src\tests\runtests.py
Loading