Commit Graph

1625 Commits

Author SHA1 Message Date
Masood Malekghassemi 12dadafd22 Add health-checking to Python
Adds the initial reference implementation for health-checking in gRPC
Python as a separate project (but within the same grpc package to keep
namespaces consistent). Only installs the package to test the
build-proto-modules custom command introduced in the health-checking
project.
2015-08-12 14:03:23 -07:00
Nathaniel Manista 52988afdc8 Merge pull request #2878 from soltanmm/expose
Expose new core functionality to Python.
2015-08-12 13:35:57 -07:00
Masood Malekghassemi be55ca770d Expose new core functionality to Python 2015-08-12 11:59:55 -07:00
Nathaniel Manista 826f07eb6f Merge pull request #2812 from soltanmm/timeout-increase
Use common timeouts in Python face-layer test-cases.
2015-08-12 11:43:02 -07:00
Nicolas "Pixel" Noble 9b6248fc6d Merge branch 'master' of github.com:grpc/grpc into the-ultimate-showdown
Conflicts:
	src/node/ext/call.cc
	src/node/ext/channel.cc
2015-08-12 19:53:03 +02:00
Nathaniel Manista 2bd1fe82f9 Merge pull request #2826 from soltanmm/typo-fix
Fix debug annotation typo in Python.
2015-08-12 08:23:52 -07:00
Nicolas "Pixel" Noble b457cd831a Merge remote-tracking branch 'google/master' into the-ultimate-showdown
Conflicts:
	src/csharp/ext/grpc_csharp_ext.c
2015-08-12 01:14:17 +02:00
Nathaniel Manista aeb7a4f30c Merge pull request #2780 from soltanmm/compiler-tests
Move Python protoc plugin tests to grpcio_test.
2015-08-11 07:41:49 -07:00
Nathaniel Manista a29a2658bc Merge pull request #2821 from soltanmm/user-agent
Set Python user-agent string.
2015-08-11 07:34:08 -07:00
Masood Malekghassemi 9adf796d06 Implement timeout interop test for Python 2015-08-10 16:27:15 -07:00
Nicolas "Pixel" Noble faddd3c3f9 Fixing Python after the merge. 2015-08-08 02:20:43 +02:00
Nicolas "Pixel" Noble 9d72b149a9 Merge branch 'master' of github.com:grpc/grpc into the-ultimate-showdown
Conflicts:
	include/grpc/grpc.h
	src/core/surface/channel.c
	src/core/surface/channel_create.c
	src/core/surface/completion_queue.c
	src/cpp/client/channel.cc
	src/cpp/client/insecure_credentials.cc
	src/csharp/ext/grpc_csharp_ext.c
	src/node/ext/call.cc
	src/node/ext/channel.cc
	src/php/ext/grpc/call.c
	src/php/ext/grpc/channel.c
	src/python/grpcio/grpc/_adapter/_c/types/channel.c
	src/ruby/ext/grpc/rb_channel.c
	test/core/end2end/dualstack_socket_test.c
	test/core/end2end/fixtures/chttp2_fullstack.c
	test/core/end2end/fixtures/chttp2_fullstack_compression.c
	test/core/end2end/fixtures/chttp2_fullstack_uds_posix.c
	test/core/end2end/fixtures/chttp2_fullstack_with_poll.c
	test/core/end2end/multiple_server_queues_test.c
	test/core/end2end/no_server_test.c
	test/core/end2end/tests/bad_hostname.c
	test/core/end2end/tests/cancel_after_accept.c
	test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
	test/core/end2end/tests/cancel_after_invoke.c
	test/core/end2end/tests/cancel_before_invoke.c
	test/core/end2end/tests/cancel_in_a_vacuum.c
	test/core/end2end/tests/census_simple_request.c
	test/core/end2end/tests/disappearing_server.c
	test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
	test/core/end2end/tests/empty_batch.c
	test/core/end2end/tests/graceful_server_shutdown.c
	test/core/end2end/tests/invoke_large_request.c
	test/core/end2end/tests/max_concurrent_streams.c
	test/core/end2end/tests/max_message_length.c
	test/core/end2end/tests/ping_pong_streaming.c
	test/core/end2end/tests/registered_call.c
	test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
	test/core/end2end/tests/request_response_with_metadata_and_payload.c
	test/core/end2end/tests/request_response_with_payload.c
	test/core/end2end/tests/request_response_with_payload_and_call_creds.c
	test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
	test/core/end2end/tests/request_with_compressed_payload.c
	test/core/end2end/tests/request_with_flags.c
	test/core/end2end/tests/request_with_large_metadata.c
	test/core/end2end/tests/request_with_payload.c
	test/core/end2end/tests/server_finishes_request.c
	test/core/end2end/tests/simple_delayed_request.c
	test/core/end2end/tests/simple_request.c
	test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
	test/core/fling/client.c
	test/core/fling/server.c
	test/core/surface/lame_client_test.c
2015-08-08 01:45:38 +02:00
Masood Malekghassemi 6107bf457a Set Python user-agent string 2015-08-06 13:33:07 -07:00
Masood Malekghassemi 1116b0b4fb Fix debug annotation typo in Python 2015-08-06 12:37:05 -07:00
Yang Gao e5b0459299 Merge pull request #2750 from ctiller/propagate
Core-supported context propagation
2015-08-06 09:39:51 -07:00
Nathaniel Manista 7098b1ba64 Merge pull request #2746 from soltanmm/user-agent
Add project metadata generation to Python.
2015-08-05 17:48:46 -07:00
Masood Malekghassemi 5c147631d3 Add project metadata generation to Python 2015-08-05 16:08:05 -07:00
Masood Malekghassemi 93c3b3f7ea Use common timeouts in Python face-layer test-cases 2015-08-05 14:27:00 -07:00
Craig Tiller a600d58551 Merge github.com:grpc/grpc into propagate 2015-08-05 10:44:45 -07:00
Abhishek Kumar 183c9f77a7 Merge pull request #2767 from ctiller/no-poop-on-pizza
Rename grpc_server_add_http2_port to grpc_server_add_insecure_http2_port
2015-08-05 10:25:35 -07:00
Craig Tiller 18541a1cee Merge github.com:grpc/grpc into propagate 2015-08-05 08:10:22 -07:00
Masood Malekghassemi ed96983e22 Move Python protoc plugin tests to grpcio_test 2015-08-04 16:11:08 -07:00
Craig Tiller 298f39a626 Merge pull request #2686 from nathanielmanistaatgoogle/2570
Affirm metadata transmission in a common function
2015-08-04 14:28:07 -07:00
Craig Tiller c5ae3eb8d6 Rename grpc_server_add_http2_port to grpc_server_add_insecure_http2_port 2015-08-03 10:42:22 -07:00
Craig Tiller 6728bef3b1 Merge branch 'propagate' of github.com:ctiller/grpc into propagate
Conflicts:
	src/core/surface/channel.c
2015-08-01 16:12:04 -07:00
Craig Tiller fa44f18516 Merge github.com:grpc/grpc into propagate
Conflicts:
	src/core/surface/channel.c
2015-08-01 16:11:03 -07:00
Craig Tiller e1b0e6ee12 s/inherit/propagate/g 2015-07-31 17:07:31 -07:00
Craig Tiller 99e61645ce Update wrappers, tests to new create_call() 2015-07-31 17:01:47 -07:00
Nicolas "Pixel" Noble 6002a4f67b Adapting Python. 2015-08-01 02:01:31 +02:00
Nathaniel Manista dde9071f9b Affirm metadata transmission in a common function
This introduces grpc_test.test_common for gRPC-specific test code and
fixes issue 2570.
2015-07-31 23:24:45 +00:00
Masood Malekghassemi 2b84162bd4 Use py.test from run_tests.py
Also updates the version of grpcio_test. Now that grpcio and its tests
are in different project packages, the version numbers should be kept in
sync.
2015-07-31 14:13:11 -07:00
Masood Malekghassemi 791cc31a49 Enable Python testing and coverage 2015-07-31 14:11:06 -07:00
Masood Malekghassemi 623b7aee4a Reorganize Python tests 2015-07-30 16:40:00 -07:00
Masood Malekghassemi fe8dc883d0 Reorganize Python packages
This is in preparation of moving all tests into a separate package to
enable ease of coverage checking and testing.
2015-07-30 16:25:55 -07:00
Nathaniel Manista 772fb1e977 Merge pull request #2697 from soltanmm/add-sphinx-doc
Python documentation generation.
2015-07-30 15:06:14 -07:00
Masood Malekghassemi d65632ab04 Add Python documentation generation 2015-07-29 14:43:16 -07:00
Julien Boeuf 36fab90026 Merge branch 'master' of github.com:grpc/grpc into ssl_force_client_auth 2015-07-27 20:57:32 -07:00
Masood Malekghassemi cd114a7415 Merge pull request #2677 from nathanielmanistaatgoogle/test-constants
Add STREAM_LENGTH and POOL_SIZE to test_constants
2015-07-27 16:39:40 -07:00
Julien Boeuf 4aee724004 Merge branch 'master' of github.com:grpc/grpc into ssl_force_client_auth 2015-07-27 16:16:29 -07:00
Yang Gao f2b2558cc3 Merge pull request #2593 from ctiller/elliptic-orange-chamelion
Rename grpc_channel_create to grpc_insecure_channel_create
2015-07-27 14:15:48 -07:00
Nathaniel Manista 7b042c5793 Add STREAM_LENGTH and POOL_SIZE to test_constants
Only one of these is used, and in only one place, as of this commit,
but they will be used widely after further development.
2015-07-27 20:59:36 +00:00
Craig Tiller d9aed1d010 Merge github.com:grpc/grpc into elliptic-orange-chamelion
Conflicts:
	src/csharp/ext/grpc_csharp_ext.c
2015-07-26 12:55:47 -07:00
Craig Tiller cbc4fb9f2e Merge github.com:grpc/grpc into warbling-wombat 2015-07-26 12:54:23 -07:00
jboeuf 5749a3f467 Merge pull request #2605 from yang-g/fake_transport_security_to_private
Fake transport security to private
2015-07-24 21:30:35 -07:00
Yang Gao b5bbf66779 Merge pull request #2629 from ctiller/always-with-the-mono
Make the server report monotonic times for deadlines
2015-07-23 16:35:29 -07:00
Craig Tiller e2f2e9a31a Integration fix 2015-07-23 11:35:10 -07:00
Craig Tiller 7cb0853755 Merge github.com:grpc/grpc into elliptic-orange-chamelion 2015-07-23 11:29:44 -07:00
Craig Tiller 94329d0965 Make the server report monotonic times for deadlines
For very high performance systems, we're going to want to be able to
simply push the value reported from the server down onto clients.

If we report realtime now, then all wrapped languages are going to
assume it, meaning that such a change will be impossible later.
2015-07-23 09:52:11 -07:00
Julien Boeuf fe4c3f4f14 Renaming jwt_credentials to service_account_jwt_access_credentials. 2015-07-22 16:20:13 -07:00
Masood Malekghassemi b6d613730f Fix Python C89 pedantry 2015-07-22 14:04:45 -07:00
yang-g 52e4de1ea1 Fix node test. Remove all the server fake credentials references 2015-07-22 10:33:18 -07:00
yang-g 70a1337045 merge head and resolve conflict 2015-07-22 00:08:06 -07:00
yang-g 8b25f2aaeb move fake_transport_security_credentials to private API 2015-07-21 23:54:36 -07:00
Julien Boeuf 5029b30d1c Adding option to force client auth on the server SSL creds. 2015-07-21 23:02:16 -07:00
Craig Tiller 4a4f1496c1 Rename grpc_channel_create to grpc_insecure_channel_create 2015-07-21 16:32:29 -07:00
Craig Tiller 83ac705fa7 Only check metadata that we want: its allowed to have extra elements 2015-07-18 20:39:34 -07:00
Craig Tiller 9f85fa0043 Only validate metadata from the client that we know should exist
- it's allowed that other metadata may be picked up when sending a
  request
2015-07-18 20:39:28 -07:00
Craig Tiller c9fef6f521 Merge github.com:grpc/grpc into no-worries-i-can-wait 2015-07-17 14:41:12 -07:00
Nathaniel Manista 3abe61850e links interface and gRPC-on-wire implementation
This code branches out of the alpha/early_adopter code and begins
building toward the beta API.
2015-07-13 23:15:51 +00:00
Craig Tiller 354398f9f5 Updating wrapped languages to new time functions 2015-07-13 09:16:03 -07:00
Craig Tiller 75cfb044f3 Merge github.com:grpc/grpc into no-worries-i-can-wait 2015-07-13 08:42:22 -07:00
Craig Tiller 143e7bf0cf Introduce a clock type field onto gpr_timespec.
Use it to validate that arithmetic on time types makes even some vague
kind of sense.
2015-07-13 08:41:49 -07:00
Nicolas "Pixel" Noble 0e107a7f02 Disabling cython for now. 2015-07-11 21:06:59 +02:00
Masood Malekghassemi 864b97b1d8 Upport python version 2015-07-10 15:59:01 -07:00
Craig Tiller ca4387523a Revert "Update Python version numbers" 2015-07-10 05:51:07 -07:00
Masood Malekghassemi 92e5bd8e43 Update Python version numbers
Conflicts:
	src/python/src/setup.py
2015-07-10 08:28:43 +02:00
Masood Malekghassemi e5f7002617 Add Python3 testing support
Conditionally runs the tests depending on the availability of Python
versions (because Travis is the worst).
2015-07-09 12:41:04 -07:00
Masood Malekghassemi 743c10ccd5 Cython refactor of Python C wrapping layer
Also set up environment-related details needed for a smooth Cython
experience: have the test script avoid rebuilding all dependencies if the
virtualenv directory already exists, have the PyPI distribution script
distribute the Cython generated C code rather than the .pyx files.
2015-06-30 17:33:28 -07:00
Masood Malekghassemi ec5dc7f90b Accept metadata sequences, return tuples 2015-06-29 15:32:44 -07:00
Masood Malekghassemi a6cfa0ad3b Fix #2248 2015-06-29 15:06:08 -07:00
Craig Tiller 831b4e0fdc Merge branch 'fix_intermediary_low_test_for_1577' of github.com:nathanielmanistaatgoogle/grpc into merge-merge-merge 2015-06-17 11:17:23 -07:00
Nathaniel Manista c6636c01a5 Adapt _intermediary_low_test to no backup poller
Pull request #1577 removes the backup poller internal to completion
queues so this test needs to use extra threads to drive the work done
inside the completion queues by continuously calling each completion
queue's get method.
2015-06-17 17:36:58 +00:00
Craig Tiller bf8ac3f406 Merge branch 'you-complete-me' into we-dont-need-no-backup 2015-06-17 09:15:48 -07:00
Craig Tiller 44a1dd36f5 Fix Python compilation 2015-06-17 09:09:35 -07:00
Craig Tiller 48dd6bfb53 Merge github.com:grpc/grpc into you-complete-me 2015-06-16 17:18:34 -07:00
Masood Malekghassemi 9d3fbcf0ba Make warnings errors when building Python tests 2015-06-16 13:15:47 -07:00
David Garcia Quintas d7e0bea41c Added changes to python and csharp wrappers 2015-06-15 13:27:17 -07:00
Masood Malekghassemi a3697b451b Merge branch 'master' of https://github.com/grpc/grpc into ct-you-complete-me 2015-06-15 10:29:20 -07:00
Craig Tiller 4c32de585a Fix low test 2015-06-15 10:15:20 -07:00
Craig Tiller a1fa35530f Properly register completion queues with server 2015-06-15 10:14:33 -07:00
Craig Tiller 173761fbd5 Merge branch 'you-complete-me' into we-dont-need-no-backup 2015-06-11 09:50:56 -07:00
Nathaniel Manista f3e4aa2c7c Merge pull request #2034 from soltanmm/pip89
Ensure C89 compatibility in Linux tests.
2015-06-11 06:39:55 -07:00
Masood Malekghassemi 4b4181ed1c Ensure C89 compatibility in Linux tests 2015-06-10 17:37:55 -07:00
Masood Malekghassemi 38bb18fd43 Update Python for core server shutdown change 2015-06-10 17:32:02 -07:00
Jayant Kolhe 14b39e0c2b Merge pull request #2004 from tbetbetbe/python-package-update-install
Update README.rst
2015-06-10 14:42:18 -07:00
Tim Emiola 0c0ccb0acf Corrects wording 2015-06-10 14:09:42 -07:00
Nathaniel Manista a08694eff2 Merge pull request #2033 from tbetbetbe/grpc-python-update-add-example-to-docs
Update src/python/README.md to link to quick
start and detailed example documentation.
2015-06-10 10:43:47 -07:00
Tim Emiola 05aafbc9d9 Update README.md 2015-06-10 10:38:38 -07:00
Nathaniel Manista 3f192f7391 Merge pull request #1884 from soltanmm/py-proto-up
Upgrade protobuf version used by gRPC Python to 3.0.0a3 and
update version number of gRPC Python to 0.9.0a1.
2015-06-09 15:23:39 -07:00
Tim Emiola 2e6def0f9e Update README.rst 2015-06-09 08:23:50 -07:00
David Garcia Quintas 59f905d79a Changes to byte_buffer based on comments. 2015-06-08 20:06:17 -07:00
Masood Malekghassemi aa152ef420 Merge pull request #1895 from nicolasnoble/python-is-not-c89
Some compilers don't like C99.
2015-06-03 18:27:57 -07:00
Masood Malekghassemi 0f4c6a2fb8 Upgrade protobuf, Python version number 2015-06-03 17:44:28 -07:00
Nathaniel Manista 247ca67bc6 Merge pull request #1882 from soltanmm/timeouts
Increase RPC timeout in _links_test.py.
2015-06-03 15:40:01 -07:00
Nicolas "Pixel" Noble 3f6d351b86 Some compilers don't like C99. 2015-06-03 22:05:51 +02:00
Jayant Kolhe 11b4f3cdc5 Merge pull request #1891 from tbetbetbe/grpc-python-update-readme-install
Updates the INSTALL section for python
2015-06-03 12:26:00 -07:00
Tim Emiola aa0e44bd63 Updates the INSTALL section for python 2015-06-03 12:20:43 -07:00
Masood Malekghassemi 691b8234af Increase test timeout
The previous timeout was short enough that it led to erroneous failures.

Fixes #1875.
2015-06-02 16:38:26 -07:00
David Garcia Quintas 30bd4eb5cc Removed grpc_byte_buffer_reader_{create,destroy}.
Introduced grpc_byte_buffer_init instead. It's now the user's responsibility to
manage memory.
2015-06-01 21:20:47 -07:00
Nathaniel Manista faafb38d14 Merge pull request #1558 from soltanmm/extension
Overhaul Python C layer.
2015-06-01 14:34:32 -07:00
Nathaniel Manista 7181d85f8b Merge pull request #1668 from soltanmm/cancel-interop
Add cancellation interop tests for Python.
2015-05-29 13:56:26 -07:00
Masood Malekghassemi a2918d2e04 Move batch API exposure to Python layer
Exposes the C core batch API to the Python layers. Provides a shim to
enable the old Python API to remain the same (for now).
2015-05-29 13:41:37 -07:00
Masood Malekghassemi e0281bbbf1 Set verbosity to 2 for Python tests
Fixes #1762.
2015-05-28 15:33:48 -07:00
Masood Malekghassemi 7eefcb7994 Sync Python version to rest of project
Updated to version 0.9.0a0.
2015-05-26 14:26:24 -07:00
Craig Tiller 3a5390e902 Reduce threadpool size 2015-05-22 16:14:03 -07:00
Craig Tiller e594779a0e Reduce threadpool size 2015-05-22 14:50:03 -07:00
Masood Malekghassemi 25ec4bd699 Add cancellation interop tests for Python
Fixes #1591.

Also fixes a raised-exceptions-during-tests-causes-hanging problem.
2015-05-22 14:20:15 -07:00
Craig Tiller e6eebeb355 Reduce threadpool size 2015-05-22 14:09:20 -07:00
Nathaniel Manista 1c8f36c40b Fix mistaken method name: "append", not "add"
This defect was originally introduced in Google-internal source control
on 18 August 2014. Wow. Clearly unit test coverage is needed for this
feature.
2015-05-21 00:09:04 +00:00
Jorge Canizales 0dc2927b2e Merge pull request #1659 from jayantkolhe/my-shiny-new-branch
Update README.md to present Python as ready for early adopters.
2015-05-19 11:39:52 -07:00
Jayant Kolhe 6ab757bc94 Update README.md 2015-05-19 11:37:16 -07:00
Nicolas "Pixel" Noble b98188e826 Upgrading third_party/protobuf to version v3.0.0-alpha-1-150-g7d5cf8d. 2015-05-19 11:30:14 -07:00
Craig Tiller 54478f8562 Merge github.com:grpc/grpc into bye-bye-completion-queue-pie 2015-05-12 14:08:56 -07:00
Yang Gao a468c36601 Merge pull request #1493 from ctiller/churn-churn-churn-the-api-gently-down-the-stream
Completion queue binding for new requests API change
2015-05-12 12:37:24 -07:00
Nathaniel Manista 55cbf02125 Change Python development status to "Alpha"
We actually went alpha in the last release cycle several weeks ago but
missed updating this documentation.
2015-05-12 01:45:33 +00:00
Craig Tiller f508145012 Fix some wrapped languages 2015-05-06 12:42:47 -07:00
Craig Tiller 9eb47ada08 Further fixes 2015-05-05 09:35:15 -07:00
Craig Tiller 5fdcbb7fbe Merge github.com:grpc/grpc into bye-bye-completion-queue-pie 2015-05-05 08:44:47 -07:00
Craig Tiller 64be9f7a30 C Core API cleanup.
Simplify grpc_event into something that can be non-heap allocated.
Deprecate grpc_event_finish.
Remove grpc_op_error - use an int as this is more idiomatic C style.
2015-05-04 14:53:51 -07:00
Yang Gao c71a9d2b56 clang-format 2015-05-04 00:22:12 -07:00
Masood Malekghassemi 51fe022db0 Merge pull request #1439 from nicolasnoble/python-c89
C89-ify the python code.
2015-04-30 15:22:48 -07:00
Nicolas "Pixel" Noble 64237fb02d C89-ify the python code. 2015-05-01 00:12:26 +02:00
Masood Malekghassemi 9f8682c578 Release Python 0.5.0a2 2015-04-30 14:56:08 -07:00
Masood Malekghassemi f722b0cd6f Extern-ify symbols so they don't collide 2015-04-30 13:56:46 -07:00
Masood Malekghassemi fae9d99e6a Release Python 0.5.0a1 2015-04-30 12:46:26 -07:00
Masood Malekghassemi f579e1d176 Migrate Python to batch core API 2015-04-28 10:14:59 -07:00
Craig Tiller 62bc1846b7 Uncomment accidentally commented stuff 2015-04-20 09:58:06 -07:00
Craig Tiller 12088b26d9 Tweak tests 2015-04-20 09:51:27 -07:00
Masood Malekghassemi 41251e4d3a Fix Python auth and interop test 2015-04-13 16:48:52 -07:00
Masood Malekghassemi e6b0038223 Add OAuth interop tests to Python
Also adds the commands to the grpc_docker shell library script to
support running in docker.
2015-04-09 12:25:39 -07:00
Alexander Staubo 8eac91eaf4 OS X doesn't have librt, so don't link to it. 2015-04-07 15:19:37 -04:00
Tim Emiola 0c665141db Merge pull request #1217 from soltanmm/pypi
Version update to 0.5.0
2015-04-07 11:09:32 -07:00
Masood Malekghassemi 2b34e5adf1 Version update to 0.5.0 2015-04-07 11:05:35 -07:00
Tim Emiola e4f2f1580d Merge pull request #1154 from soltanmm/pypi
Enable PyPI package management
2015-04-06 16:23:10 -07:00
Masood Malekghassemi 451887ba2c Enable PyPI package management 2015-04-06 16:19:49 -07:00
Nathaniel Manista 89ad057854 Update the generated Python interop code.
https://github.com/grpc/grpc/issues/1150 tracks the fact that these
files shouldn't even exist. For now, however, they do and should be
kept current.
2015-04-06 17:05:50 +00:00
Nathaniel Manista cd7096deb6 Add a metadata_transformer to the Python stub. 2015-04-06 15:08:36 +00:00
Masood Malekghassemi 660a33e11f Satisfy C90 pedantry in Python adapter 2015-04-03 11:16:12 -07:00
Nathaniel Manista 52bc8f962a Merge pull request #1163 from soltanmm/metadata
Add metadata support to low-level Python _adapter
2015-04-01 20:56:40 -07:00
Masood Malekghassemi 841f90f86f Add metadata support to low-level Python framework 2015-04-01 16:50:44 -07:00
Masood Malekghassemi 5bf4d2ae36 Reformat style of using PyObject_HEAD 2015-03-31 15:58:17 -07:00
Nathaniel Manista f492b16d48 Unify early_adopter construction functions
It was awkward for the generated code to call an API that offered
both insecure_server and secure_server as well as insecure_stub and
secure_stub. With this change there is just a single server function
and a single stub function and security is decided based on arguments
passed.
2015-03-30 18:14:52 +00:00
Masood Malekghassemi 89905ac55d Factor out interface-specific early_adopter code
Refactors early_adopter such that interface-specific code is located in
the framework module as a submodule `alpha`.
2015-03-17 18:54:24 -07:00
Nathaniel Manista de5490c15c Change remaining "packet" names to "ticket"
This renaming has been incrementally happening for the last several
weeks and this change finishes it.
2015-03-18 00:37:19 +00:00
Nathaniel Manista 492dfdb950 Correct a package name in a doc string 2015-03-18 00:23:51 +00:00
Nathaniel Manista 4e6fd0a3ae Merge the base and base.packets packages
They were two halves of the same whole.
2015-03-18 00:22:57 +00:00
Masood Malekghassemi d942720266 Merge pull request #1031 from nathanielmanistaatgoogle/service_name
Add service name to Python early_adopter
2015-03-17 13:45:13 -07:00
Masood Malekghassemi d8818484fd Merge pull request #1061 from nathanielmanistaatgoogle/reenable-test
Reenable a disabled test method
2015-03-16 20:08:43 -07:00
Nathaniel Manista 9ef929d78d Reenable a disabled test method 2015-03-17 02:24:37 +00:00
Nathaniel Manista affe916405 Add at CANCELLATION back-to-front ticket kind
This addresses issue #752.
2015-03-17 01:10:22 +00:00
Nathaniel Manista e2e443c1d4 Use distinct enums for distinct ticket types 2015-03-17 00:49:36 +00:00
Masood Malekghassemi afdc24ae2b Merge pull request #1055 from nathanielmanistaatgoogle/python-refactoring
Python refactoring
2015-03-16 17:12:43 -07:00
Nathaniel Manista 8d81365a3c Iterate over an enum since we can
Since enums are themselves iterable there's no need to maintain a list
of the elements of the enum dating from back before the enum when its
values were just independent constants that hung out together.
2015-03-16 23:35:15 +00:00
Nathaniel Manista ae3e5b53f0 Change managers to pass each other Outcomes
This refactoring greatly reduces the base-internal use of packet kinds
and will make much simpler a future change distinguishing front-to-back
packet kinds from back-to-front packet kinds.
2015-03-16 23:30:03 +00:00
Nathaniel Manista c4fada6e9a Add service name to Python early_adopter 2015-03-16 23:04:09 +00:00
murgatroid99 2493ea6d4b Fixed argument types in setup.py 2015-03-16 14:53:19 -07:00
Arkadiusz Bokowy 5d85675b56 Fix port selection for server
Commit 31e65be introduces a bug which causes starting server on a randomly
selected port.
2015-03-13 13:47:00 +01:00
Nicolas "Pixel" Noble 8a6b38c9be Remove a const from a variable that should be mutable.
deadline is passed by address to PyArg_ParseTuple to update its value.
However, deadline is a const double, so attempting to change its value
is undefined behavior. Remove the const to have well-defined behavior.
2015-03-12 18:58:59 +01:00
Nathaniel Manista 31e65beaed Eliminate the Python "assembly" package
This completes issue #726. All that cascading activation stuff just
didn't work out as cleanly as I had hoped it would.
2015-03-10 00:52:32 +00:00
Tim Emiola f9007045f2 Merge pull request #982 from sahlberg/python-readme
README: fix the path to the python requirements.txt file
2015-03-09 15:46:06 -07:00
Ronnie Sahlberg 400349ea4d README: fix the path to the python requirements.txt file
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-03-07 09:33:09 -08:00
Nathaniel Manista 5c87a30c41 Refactoring within Python RPC Framework
The assembly and face layers were mostly redundant except that the
assembly layer had far-better interfaces and the face layer had more
of a reason to exist. Now they are merged.
2015-03-07 05:56:15 +00:00
Nicolas Noble 3631e82c89 Merge pull request #835 from ctiller/credit
C++ Credentials Rework
2015-03-06 17:40:46 -08:00
Nathaniel Manista 256ccca923 Use server_host_override in interop client
Also refactor the interop package to perform client-server interop
testing in a unit test.
2015-03-07 00:18:51 +00:00
Nathaniel Manista db13f68dab Add a server_host_override to stub creation
This optional value should only be passed in tests.
2015-03-07 00:18:13 +00:00
Nathaniel Manista a55c0949ee Python secure server API changes 2015-03-04 00:25:01 +00:00
Nicolas Noble b9518217f0 Merge pull request #887 from murgatroid99/travis_python
Added python tests to .travis.yml
2015-03-02 13:52:41 -08:00
murgatroid99 4a171f8e2d Fixed python link order 2015-03-02 13:17:53 -08:00
murgatroid99 4eb6e31566 Added rt link to python's setup.py 2015-03-02 13:07:38 -08:00
Misha Brukman 5cdf37eb7b Removed execute permissions from README files. 2015-03-02 16:12:49 +00:00
Misha Brukman 53f101a7a9 Moved pip dependencies into requirements.txt .
This allows for easier scripting and updates.
2015-03-02 00:59:16 +00:00
Nathaniel Manista 89fccb7d7a Simple installation instructions for Python. 2015-02-26 20:21:31 +00:00
Masood Malekghassemi bc53734c2e Merge pull request #830 from nathanielmanistaatgoogle/python-interop-client
The Python interop client.
2015-02-26 11:08:18 -08:00
Masood Malekghassemi e07edc50e1 Merge pull request #831 from nathanielmanistaatgoogle/security-progress
Work towards invocation-side security.
2015-02-26 09:33:47 -08:00
Nathaniel Manista 1c37fe62fd Work towards invocation-side security. 2015-02-26 17:11:23 +00:00
Nathaniel Manista c2b402001b The Python interop client.
The server_host_override flag's implementation remaining
outstanding means that this only works over insecure
connections for now.
2015-02-26 16:23:38 +00:00
Mugur Marculescu 67347d8a39 Merge pull request #820 from jayantkolhe/jayantkolhe-patch-3
Updated Python Status
2015-02-25 18:06:18 -08:00
Jayant Kolhe 806dde1bcb Update README.md 2015-02-25 14:39:14 -08:00
Nathaniel Manista 1ffe4feb6f Sanitize a reference number. 2015-02-25 21:39:05 +00:00
Nathaniel Manista c6e42c8a86 Set Python version number to 0.4.0. 2015-02-25 21:30:24 +00:00
Masood Malekghassemi 3c17f04af9 Merge pull request #795 from nathanielmanistaatgoogle/python-client-credentials
Python ClientCredentials object.
2015-02-25 12:43:52 -08:00
Masood Malekghassemi 02a74dd244 Merge pull request #785 from nathanielmanistaatgoogle/early-adopter-changes
Final changes to the early_adopter API.
2015-02-25 12:34:28 -08:00
Nathaniel Manista c855d57666 Python ClientCredentials object. 2015-02-25 19:09:08 +00:00
Jan Tattermusch e0172a86a0 fix readme 2015-02-25 10:34:55 -08:00
Nathaniel Manista 9280790a5d Final changes to the early_adopter API.
This makes grpc.early_adopter much more independent of RPC
Framework and cleaner at the cost of reexporting most of the
interfaces and writing several delegation classes.
2015-02-25 17:14:11 +00:00
Nathaniel Manista f4e3f3f8d6 Avoid CANCELLATION ticket kind for back-to-front tickets.
It's not (yet, see issue 752) allowed and code at the higher
level doesn't know how to deal with it.
2015-02-24 20:19:02 +00:00
Nathaniel Manista 4ad01246e3 Propagate ForeLink-joining to the inner RearLink.
rear._ActivatedRearLink's inner RearLink should of
course send its tickets to whatever ForeLink was joined
to the rear._ActivatedRearLink.
2015-02-24 00:53:45 +00:00
Nathaniel Manista de16e4c755 Add a port method to assembly-level servers. 2015-02-23 22:42:43 +00:00
Nathaniel Manista e04e20aaca Thread-pool-less construction of GRPC links.
These will be used in generated code in circumstances in which we
don't necessarily want to be asking calling code to have a thread
pool readily available.
2015-02-22 03:50:02 +00:00
Masood Malekghassemi f5f83be4fc Replaces the generated code in src/python/interop/interop with more recently generated code. 2015-02-20 17:07:36 -08:00
Nathaniel Manista 7efe54e336 The framework.assembly package.
This provides for now what should be a nicer interface for code
generation than that of the Face layer. In terms of abstraction
it's conceptually very similar so the two should probably be
merged as soon as is reasonable.
2015-02-20 23:05:32 +00:00
Nathaniel Manista 477ce9fd9a Merge pull request #627 from nathanielmanistaatgoogle/sync-async 2015-02-20 11:01:02 -08:00
Nathaniel Manista 331fcb9dc3 Add SyncAsync interfaces and implementations.
These invocation-side values allow users to choose
between synchronous and asynchronous execution of
their RPCs with a single attribute access.
2015-02-20 18:54:30 +00:00
Nathaniel Manista 97993b65b3 Fix a thread leak bug.
Successful operations were leaking the thread used for expiration
monitoring. This change ensures that the ExpirationManager for the
operation always has its abort() method called when the
TerminationManager for the operation judges the operation to have
terminated.
2015-02-20 18:14:00 +00:00
Thomas Wouters c04c573fb3 Clean up Python C API use in src/python/src/grpc/_adapter/*.c. Specifically:
- Use METH_O and METH_NOARGS where appropriate, modifying the C functions
   appropriately.  METH_O is for functions that take a single PyObject, and
   it's passed directly instead of 'args'.  METH_NOARGS is for functions
   that take no arguments, and they get called with just one argument
   ('self'.)

 - In PyArg_ParseTuple*() calls, specify the callable's name for more
   descriptive exception messages.

 - For tp_init functions (which always take keyword arguments) introduce
   keyword argument parsing (using the C local variables as keywords,
   although I don't know if they're the best names to use.) This is mostly
   as a way to show how keyword arguments are done in C.  An alternative
   method is to use _PyArg_NoKeywords(kwds) (see
   https://hg.python.org/cpython/file/70a55b2dee71/Python/getargs.c#l1820,
   but unfortunately it's not part of the official API,) or check manually
   that the dict is empty.

 - Check the return value of Python API functions that can return an error
   indicator (NULL or -1.) PyFloat_AsDouble is also one of these, but we
   don't check the return type (we would have to compare the result to 1.0
   with ==, which is not a thing you should do) so just call PyErr_Occurred
   unconditionally.

 - Change Py_BuildValue() calls with just "O" formats into PyTuple_Pack
   calls.  It requires less runtime checking.

 - Replace Py_BuildValue()/PyObject_CallObject pairs with
   PyObject_CallFunctionObjArgs (since all of them have just PyObject*
   arguments.) If the Py_BuildValue formats had included other types,
   PyObject_CallFunction() would have been easier, but no need in these
   cases.

 - Replace Py_BuildValue("f", ...) with PyFloat_FromDouble(...). Less
   runtime checking and parsing necessary, and more obvious in what it does.

 - In the PyType structs, replace "PyObject_HEAD_INIT(NULL) 0" with
   "PyVarObject_HEAD_INIT(NULL, 0)".  Anything with an ob_size struct member
   is a PyVarObject, although the distinction isn't all that import; it's
   just a more convenient macro.

 - Assign tp_new in the PyType structs directly, like all other struct
   members, rather than right before the PyType_Ready() call.

 - Remove PyErr_SetString() calls in places that already have a (meaningful)
   exception set.

 - Add a PyErr_Format() for an error return that wasn't setting an exception
   (PyObject_TypeCheck() doesn't set an exception.)

 - Remove NULL assignments to struct members in the error paths of the
   tp_init functions.  PyObject structs are always zeroed after allocation,
   guaranteed.  (If there's a way for them to already contain an object
   you'd use Py_CLEAR() to clear them, but that can't happen in these
   cases.)

 - Remove a few unnecessary parentheses.
2015-02-20 06:20:36 -08:00
Jayant Kolhe 6ef57ba3bf Merge pull request #589 from nathanielmanistaatgoogle/src-python-readme
Add a src/python/README.md.
2015-02-19 11:39:52 -08:00
Tim Emiola 222fbdf317 Merge pull request #608 from nathanielmanistaatgoogle/interfaces_test_case
Rename base/interfaces_test to base/interfaces_test_case.
2015-02-19 08:56:05 -08:00
Nathaniel Manista 3e2ebff833 Python early_adopter changes in anticipation of interop client. 2015-02-19 10:02:01 +00:00
Nathaniel Manista 1fbaad110f Rename base/interfaces_test to base/interfaces_test_case.
With this change the Python codebase now conforms to an
"if it ends with _test.py then it is an executable test"
rule.
2015-02-19 07:32:33 +00:00
Nathaniel Manista 9b98bd89af Add a src/python/README.md. 2015-02-18 22:47:25 +00:00
Craig Tiller ce5021b0b9 Add missing new-lines at end of file 2015-02-18 09:25:21 -08:00
Craig Tiller 190d360def Add missing new-lines at end of file 2015-02-18 09:23:38 -08:00
Craig Tiller 0605995e55 Update copyright to 2015 2015-02-18 08:34:56 -08:00
Craig Tiller 94640a3df9 Rework python, expand tool to make this easier 2015-02-17 20:42:05 -08:00
Craig Tiller 347b83c222 Merge github.com:grpc/grpc into copyright
Conflicts:
	src/python/src/__init__.py
	src/python/src/_adapter/__init__.py
	src/python/src/_framework/__init__.py
	src/python/src/_framework/base/__init__.py
	src/python/src/_framework/base/packets/__init__.py
	src/python/src/_framework/common/__init__.py
	src/python/src/_framework/face/__init__.py
	src/python/src/_framework/face/testing/__init__.py
	src/python/src/_framework/foundation/__init__.py
	src/python/src/_junkdrawer/__init__.py
2015-02-17 20:28:40 -08:00
Nathaniel Manista c25a3b35bd Python source reorganization.
A top-level "grpc" package is added and RPC Framework
is made public.
2015-02-18 02:46:17 +00:00
Craig Tiller c2c792113e Add copyrights to Python code 2015-02-16 12:00:01 -08:00
Nathaniel Manista 1d1f952731 The Python interoperability testing server. 2015-02-15 01:21:18 +00:00
Nathaniel Manista 2fe7cb7d6d Add an early adopter public API. 2015-02-15 01:19:21 +00:00
Nathaniel Manista 81337bb41f Add security to fore.ForeLink. 2015-02-15 01:18:41 +00:00
Nathaniel Manista a035afcfae Clean up setup.py and move it into src/. 2015-02-15 01:16:37 +00:00
Nathaniel Manista 6edb45189e Simplify _WrappedConsumer.moar. 2015-02-15 01:06:31 +00:00
Nathaniel Manista 83edf3e8d3 Change the interface of RPC Framework's Future interface.
Now our Future interface is as-API-compatible-as-possible with
Python's own concurrent.futures.Future.
2015-02-13 22:16:35 +00:00
Nathaniel Manista bc9773e105 Allow _low.Server objects to be passed a ServerCredentials. 2015-02-10 22:21:44 +00:00
Nathaniel Manista 49c877e579 Add a wrapping of grpc_server_credentials. 2015-02-10 22:17:55 +00:00
Craig Tiller c4f0ebe63b Prepare for the new batch call API.
Rename all core API functions that are on their way to deprecation with
an _old tag across all wrappings.
2015-02-02 15:39:31 -08:00
Nathaniel Manista 71723faa13 TODO fulfillment: use enum for enumerated types. 2015-02-02 17:26:01 +00:00
Nathaniel Manista a4ead5d91b Bring in the Python GRPC Adapter package. 2015-02-02 15:25:52 +00:00
Nathaniel Manista b8b0adfbf9 Refactoring of the Python build.
The source code is moved from src/python to
src/python/src. A setup.py is added at
src/python. The build_python.sh and
run_python.sh scripts are updated to build
and run the Python tests by building a
package and installing it in the developer's
Python 2.7 virtual environment.
2015-02-02 15:25:43 +00:00
Nathaniel Manista 7a3c38bed9 Add the _framework.face package. 2015-01-24 00:47:35 +00:00
Nathaniel Manista 21f29c6bf7 Add the _framework.base package. 2015-01-24 00:05:22 +00:00
Nathaniel Manista 61b5a81a1e Add the _framework.common package.
It's rather unimpressive at the moment with just
one module.
2015-01-23 21:42:39 +00:00
Nathaniel Manista b68f3d1746 Fill out the foundation package. 2015-01-23 21:32:47 +00:00
Nathaniel Manista fcd6c0c922 Correct an out-of-date path in a comment. 2015-01-23 20:54:58 +00:00
Nathaniel Manista 59d095a7df The logging_pool module. 2015-01-22 20:23:45 +00:00