Commit graph

832 commits

Author SHA1 Message Date
Floris van Nee
8bbb0f47ae Avoid infinite loop on to_dict() for RPC results 2020-04-24 19:49:50 +02:00
Jacob Alexander
bca832c61d
Merge pull request #207 from litghost/move_from_public_to_api
Move exported functions used in capabilityHelper.h from extern "C" to api
2020-03-02 08:45:22 -08:00
Keith Rothman
dbc9debbbf Move exported functions used in capabilityHelper.h from extern "C" to api.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-03-02 06:49:59 -08:00
Jacob Alexander
e0d3618aa6
Updating to checkout@v2
- Fixes some rebuild issues with GitHub Actions
2020-03-01 16:25:03 -08:00
Jacob Alexander
9de385900a
Merge pull request #205 from litghost/remove_circular_imports
Rearrange declarations to avoid circular imports.
2020-02-28 18:43:16 -08:00
Jacob Alexander
8e783c53ff
Merge pull request #206 from litghost/rename_promise
Rename capnp.lib.capnp.Promise to capnp.lib.capnp._Promise.
2020-02-28 18:35:15 -08:00
Keith Rothman
20d6c4eef7 Rename capnp.lib.capnp.Promise to capnp.lib.capnp._Promise.
This is to prevent aliasing with capnp.includes.capnp_cpp.Promise. This
aliasing is problematic if capnp/lib/capnp.pxd uses the template definition
from capnp.includes.capnp_cpp.Promise.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-28 16:53:52 -08:00
Keith Rothman
3b2eedb741 Rearrange declarations to avoid circular imports.
Circular imports make import pxd's order sensitive, and violating this
order results in hard to understand errors.  As far as I can tell, this
rearrangement removes the circular nature, and has no other side
affects.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-28 16:43:28 -08:00
Jacob Alexander
970d443911
Merge pull request #204 from litghost/fix_imports
Make imports absolute instead of relative.
2020-02-28 12:12:37 -08:00
Keith Rothman
707cda97f4 Make imports absolute instead of relative.
This enables Cython modules outside of pycapnp to use these imports.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-28 12:02:59 -08:00
Jacob Alexander
efadcab1c2
Merge pull request #203 from fHachenberg/fHachenberg-refined-quickstart-note
Refined note in quickstart doc
2020-02-13 19:52:02 -08:00
Fabian Hachenberg
fedbd877ff
fixed wrong rst syntax 2020-02-13 22:47:30 +01:00
Fabian Hachenberg
8cef29f3ed
Fixed link markup, refined link label 2020-02-13 22:46:31 +01:00
Fabian Hachenberg
e914dc8251
Refined description of what happens when you call init multiple times
The original note was misleading in that it implied an actual memory leakage (in the common sense of the term). This is not the case though since the memory is left as dead space in the message but is always correctly freed upon freeing the arena.
2020-02-13 22:43:54 +01:00
Jacob Alexander
432123edd4
Update README.md 2020-02-12 13:35:27 -08:00
Jacob Alexander
f7f682c509
Update README.md 2020-02-12 13:34:59 -08:00
Jacob Alexander
c118b78142 Adding pypi badge 2020-02-09 00:42:08 -08:00
Jacob Alexander
ac6cdec2d0
Fixes Issue #202
- __path__ was being set to a string
- It's supposed to be a list of strings or None

For pycapnp pydoc isn't super useful at the module level as pydoc will
scan all the files in the directory and just list them.

Here's thread_capnp for example, notice how it doesn't show any
information on the .capnp files.

Help on package thread_capnp:

NAME
    thread_capnp

PACKAGE CONTENTS
    addressbook
    async_calculator_client
    async_calculator_server
    async_client
    async_reconnecting_ssl_client
    async_server
    async_ssl_client
    async_ssl_server
    calculator_client
    calculator_server
    thread_client
    thread_server

DATA
    Example = <capnp.lib.capnp._InterfaceModule object>
    schema = <capnp.lib.capnp._ParsedSchema object>
2020-02-07 16:44:41 -08:00
Jacob Alexander
fb52a439b8
Merge pull request #201 from p4l1ly/master
fix: package_path is a _NamespacePath, not list
2020-01-22 08:41:55 -08:00
Pavol Vargovcik
f3ae35eedd fix: package_path is _NamespacePath, not list 2020-01-20 17:51:41 +01:00
Jacob Alexander
dd3551f978
Adding poll_once() to TwoPartyServer API
- poll_forever() doesn't allow for checking socket connection to client
  * Need to check for client, if eof received then we can close the
  connection and cleanup pycapnp cpu resources (async tasks)
- Updated async examples to fix bugs
  * Add checking code for socket connection to the client and gracefully
  cleanup resources once the client socket connection closes
  * Instanciate a new TwoPartyServer per connection (allows for multiple
  connections)
- Should resolve Issue #198
2020-01-08 18:06:26 -08:00
Jacob Alexander
ea0858352b
Didn't package the modified wheels correctly 2019-12-27 01:48:13 -08:00
Jacob Alexander
90b25b43dc
Adjusting linux_ tag to manylinux2010_ tag
- Done as a post-processing step using auditwheel
2019-12-27 01:03:55 -08:00
Jacob Alexander
23eab054dd
wheel package was missing 2019-12-27 00:09:10 -08:00
Jacob Alexander
01e4d3ed2f
Removing pypandoc/pandoc requirement
- Was not working well on manylinux2010 build image
- Not necessary, can use markdown directly now
2019-12-26 23:52:10 -08:00
Jacob Alexander
84600a7ebf
Fixing Pypi warnings and errors
- Issues with pypandoc prevented uploading
2019-12-26 23:16:40 -08:00
Jacob Alexander
0e7a133080
Preparations for v1.0.0 release
- Starting with a beta1 release
2019-12-26 22:49:07 -08:00
Jacob Alexander
f01a691c34
Merge branch 'py3benchmarks' 2019-12-26 22:38:42 -08:00
Andrey Cizov
d94d60db8b
get rid of all warnings during tests 2019-12-26 22:25:56 -08:00
Andrey Cizov
7bce2f751a
fix #181 2019-12-26 22:13:34 -08:00
Andrey Cizov
0f0b30c666
enable structs to be initialized the Python way 2019-12-26 21:25:29 -08:00
Jacob Alexander
cca14902e1
Move artifact step so that they are uploaded even after test failure
- Useful when debugging failures
2019-12-26 20:29:53 -08:00
Jacob Alexander
032b14ed45
Adding artifact upload support for builds
- Including both bdist_wheel and sdist
- Adding pandoc dependencies
2019-12-26 19:55:22 -08:00
Jacob Alexander
5639188029
Updating README.md to include manylinux2010 GitHub Action status 2019-12-21 00:17:11 -08:00
Jacob Alexander
6cd971e74f
Adding manylinux2010 github action
- Validates that the manylinux2010 environment can build pycapnp
- Handle lib and lib64 cases
- Has patch for aligned_alloc symbol (not available prior to glibc 2.16)
https://github.com/capnproto/capnproto/issues/743
- Fixes #197
- Should be ready to prepare a v1.0.0b1 release
2019-12-21 00:13:04 -08:00
Jacob Alexander
6b89d6bd4b
Removing .travis.yml as it's been replaced by GitHub Actions 2019-12-11 22:46:51 -08:00
Jacob Alexander
fc75e4083d
Fixing remaining flake8 lint warnings 2019-12-11 22:44:44 -08:00
Jacob Alexander
f9647aa9a7
Give github action a better name 2019-12-11 22:25:08 -08:00
Jacob Alexander
795a0d88eb
Merge pycapnp-async into pycapnp
- Remove references to pycapnp-async
- Cleanup README.md and setup.py
2019-12-11 22:20:44 -08:00
Jacob Alexander
463ac3c48d
Update README.md 2019-11-27 10:48:50 -08:00
Jacob Alexander
b101017377
Enabling Python 3.8 tests 2019-11-27 00:25:44 -08:00
Jacob Alexander
69d3465c37
Fixing typo 2019-11-27 00:22:37 -08:00
Jacob Alexander
6bbc6b935b
Adding basic changelog 2019-10-21 00:15:34 -07:00
Jacob Alexander
c1cba47346
Small updates for PyPi 2019-10-21 00:13:19 -07:00
Jacob Alexander
c930b3cddc
Merge branch 'develop' 2019-10-20 23:01:56 -07:00
Jacob Alexander
362cce345b Fixing Windows tests
- Adding import path filter to exclude non-directories
  Otherwise kj will through exceptions
- Skipped AF_UNIX socket test
- Use default socket configuration when it doesn't matter the type of
socket used
- Open files with utf8 encoding (needed for text validation)
- Explictly call python executable when running external scripts
- Fix path creation to always use os.path.join
- Added timeout to client wait in some tests

- Some broken tests still remain (most likely asyncio related)
2019-10-19 00:26:55 -07:00
Jacob Alexander
62eccff150
Adding capnp extension validation check
- To catch odd import problems on Windows
2019-10-18 12:25:04 -07:00
Jacob Alexander
964f514180
Code gardening
- Removing unused code sections
2019-10-17 00:54:21 -07:00
Jacob Alexander
8062e6f401 Adding Windows 32-bit and 64-bit builds
- Basic tests are working
- May need some adjustments to get all tests working
- Cleaned up bundling to take Python arch into account when building
with multiple architectures
2019-10-17 00:36:46 -07:00
Jacob Alexander
063522d308
Adding Windows compilation support
- Automatically determining build arch from running Python shell
  * Should work across all platforms
2019-10-15 18:39:47 -07:00