We spent some time investigating Python/Win8 projections but we don't really 
have anything else to say right now, but it is certainly possible.

I haven't been following this thread so maybe this was already discussed, but 
on the whole "new OS target" thing - if people want to write immersive apps in 
Python then there will need to be a new build of Python.  One thing that might 
make that easier is the fact that the C runtime is still available to metro 
apps, even if the C runtime calls a banned API.  So to the extent that Python 
is just a C program the "port" should be pretty easy and mostly involve 
disabling functionality that isn't available at all to metro apps.  

I have packaged up Python 2.7 in an appx and run the application verifier on it 
(this was a while ago, so things may have changed between now and then), the 
attached banned.txt includes the list of APIs which Python is using that aren't 
allowed for the curious.

Also, people who write apps will need to distribute Python w/ their app, 
there's currently no sharing between apps.

-----Original Message-----
From: Jeff Hardy [mailto:jdha...@gmail.com] 
Sent: Sunday, January 08, 2012 10:13 PM
To: Antoine Pitrou
Cc: python-dev@python.org; Dino Viehland
Subject: Re: [Python-Dev] Python as a Metro-style App

On Sat, Jan 7, 2012 at 2:57 PM, Antoine Pitrou <solip...@pitrou.net> wrote:
> Depending on the extent of removed/disabled functionality, it might 
> not be very interesting to have a Metro port at all.

Win 8 is practically a new OS target - the nt module may need to be replaced 
with a metro module to handle it well.

Accessing the WinRT APIs directly from Python will also require a set of Python 
projections for the API, which should be straightforward to generate from the 
WinRT metadata files. I know Dino Viehland did some work on that; not sure if 
he can elaborate or not though.

Otherwise, IronPython would be the only option for writing Metro apps in Python 
- not that I'd be *horribly* upset at that :). IronPython is slowly growing 
Metro support, and it seems like most things will work, but the .NET framework 
shields it from a lot of the WinRT guts.

- Jeff

API RegCloseKey in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegConnectRegistryA in advapi32.dll is not supported for this application 
type. python27.dll calls this API. 
API RegCreateKeyA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegCreateKeyExA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegDeleteKeyA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegDeleteValueA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegEnumKeyExA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegEnumValueA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegFlushKey in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegLoadKeyA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegOpenKeyExA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegQueryInfoKeyA in advapi32.dll is not supported for this application 
type. python27.dll calls this API. 
API RegQueryValueA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegQueryValueExA in advapi32.dll is not supported for this application 
type. python27.dll calls this API. 
API RegSaveKeyA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegSetValueA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API RegSetValueExA in advapi32.dll is not supported for this application type. 
python27.dll calls this API. 
API CreateDirectoryA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API CreateEventA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API CreateFileA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API CreateFileMappingA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API CreateFileW in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API CreatePipe in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API CreateProcessA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API DeleteFileA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API ExpandEnvironmentStringsW in kernel32.dll is not supported for this 
application type. python27.dll calls this API. 
API FindFirstFileA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API FindFirstFileW in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API FindNextFileA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API FormatMessageA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GenerateConsoleCtrlEvent in kernel32.dll is not supported for this 
application type. python27.dll calls this API. 
API GetACP in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetConsoleCP in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetConsoleOutputCP in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetCurrentDirectoryA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetCurrentDirectoryW in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetEnvironmentVariableA in kernel32.dll is not supported for this 
application type. python27.dll calls this API. 
API GetExitCodeProcess in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetFileAttributesA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetFileAttributesExA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetFileAttributesW in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetFileInformationByHandle in kernel32.dll is not supported for this 
application type. python27.dll calls this API. 
API GetFileSize in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetFileType in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetFullPathNameA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetFullPathNameW in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetLocaleInfoA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetModuleFileNameA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetModuleHandleA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetModuleHandleW in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API GetProcessTimes in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetStdHandle in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetSystemInfo in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetVersion in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API GetVersionExA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API IsDBCSLeadByte in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API LoadLibraryExA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API LocalFree in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API MapViewOfFile in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API MoveFileA in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API MoveFileW in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API OpenProcess in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API OutputDebugStringA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API RemoveDirectoryA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API SetConsoleCtrlHandler in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API SetCurrentDirectoryA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API SetCurrentDirectoryW in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API SetEnvironmentVariableA in kernel32.dll is not supported for this 
application type. python27.dll calls this API. 
API SetEnvironmentVariableW in kernel32.dll is not supported for this 
application type. python27.dll calls this API. 
API SetErrorMode in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API SetFileAttributesA in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API SetFilePointer in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API SetFileTime in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API Sleep in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API TerminateProcess in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API TlsAlloc in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API TlsFree in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API TlsGetValue in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API TlsSetValue in kernel32.dll is not supported for this application type. 
python27.dll calls this API. 
API WaitForSingleObject in kernel32.dll is not supported for this application 
type. python27.dll calls this API. 
API ShellExecuteA in shell32.dll is not supported for this application type. 
python27.dll calls this API. 
API ShellExecuteW in shell32.dll is not supported for this application type. 
python27.dll calls this API. 
API CharPrevA in user32.dll is not supported for this application type. 
python27.dll calls this API. 
API LoadStringA in user32.dll is not supported for this application type. 
python27.dll calls this API. 
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to