text:
Can't download, error.

(base) :~ macbookpro2016$ spotdl https://open.spotify.com/track/75D2N8X59LA1WfcXQEV6CH
Fetching Song...
0%|                                                         |ETA: ?, ~min/songTraceback (most recent call last):
File "/Users/macbookpro2016/opt/anaconda3/bin/spotdl", line 8, in
sys.exit(console_entry_point())
File "/Users/macbookpro2016/opt/anaconda3/lib/python3.8/site-packages/spotdl/main.py", line 84, in console_entry_point
downloader.download_single_song(song)
File "/Users/macbookpro2016/opt/anaconda3/lib/python3.8/site-packages/spotdl/download/downloader.py", line 283, in download_single_song
download_song(songObj, self.displayManager, self.downloadTracker)
File "/Users/macbookpro2016/opt/anaconda3/lib/python3.8/site-packages/spotdl/download/downloader.py", line 103, in download_song
youtubeHandler = YouTube(
File "/Users/macbookpro2016/opt/anaconda3/lib/python3.8/site-packages/pytube/main.py", line 91, in init
self.prefetch()
File "/Users/macbookpro2016/opt/anaconda3/lib/python3.8/site-packages/pytube/main.py", line 183, in prefetch
self.js_url = extract.js_url(self.watch_html)
File "/Users/macbookpro2016/opt/anaconda3/lib/python3.8/site-packages/pytube/extract.py", line 143, in js_url
base_js = get_ytplayer_config(html)["assets"]["js"]
KeyError: 'assets'
got the following error, anyone has any idea what i should do..?
Thanks so much!

i gave it one more try, and this is what i did. I went to the directory: /Users/macbookpro2016/opt/anaconda3/lib/python3.8/site-packages/
and delete all the files related to spotdl. then i did a "pip install spotdl".
that solved the issue for me. cheers!

repo: spotDL/spotify-downloader


text:
Auth Frontend: Sidebar to have auth state

Sidebar should have a place where users can see the different auth options, auth state( if they are logged in or not ) and a link to logout.

Let's try mimic the way it looks internally for now and work on final design later on.

Fixed in #1140

@stefanalund, not quite, we decided to merge the PR and do the rest in a followup :p

source: gharchive/issue

authors: Rugvip marcuseide soapraj stefanalund

repo: spotify/backstage

license_type: permissive

license_source: github-api


text:
[core,rpc/grpc] close channel if initial metadata refresh fails

This causes the client side to accumulate established connections if metadata refresh fails on the remote side for any reason.
The channels are probably not closed through gc because they are associated with persistent event loop groups when created.
This has been tested by intentionally breaking the metadata handle on the remote end.

Codecov Report

Merging #247 into master will decrease coverage by 0.01%.
The diff coverage is 71.42%.

@@             Coverage Diff              @@
##             master     #247      +/-   ##
============================================
- Coverage     47.43%   47.42%   -0.02%
+ Complexity     2535     2534       -1
============================================
  Files           608      608
  Lines         15975    15978       +3
  Branches       1194     1194
============================================
- Hits           7578     7577       -1
- Misses         7946     7949       +3
- Partials        451      452       +1

Impacted Files
Coverage Δ
Complexity Δ

...com/spotify/heroic/cluster/CoreClusterManager.java
72.72% <ø> (ø)
41 <0> (ø)
:arrow_down:

...a/com/spotify/heroic/rpc/grpc/GrpcRpcProtocol.java
81.3% <71.42%> (-1.2%)
8 <1> (ø)

...m/spotify/heroic/aggregation/simple/MaxBucket.java
42.85% <0%> (-9.53%)
4% <0%> (-1%)

...om/spotify/heroic/metric/memory/MemoryBackend.java
83.58% <0%> (-2.99%)
14% <0%> (-1%)

...m/spotify/heroic/aggregation/simple/MinBucket.java
52.38% <0%> (+9.52%)
5% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7fb609f...b7dfa90. Read the comment docs.

source: gharchive/pull-request

authors: codecov-io udoprog

repo: spotify/heroic

license_source: bigquery


text:
Rename move copy functions added to FileSystem and FileSystemTarget child classes

Description
Added/Edited copy, rename and move functions in LocalTarget, LocalFileSystem, MockTarget and MockFileSystem where I felt it would be suitable.
Motivation and Context
While writing test cases for a rename function which would rename files in S3, I found that MockFileSystem did not have rename or move functions making writing appropriate tests a convoluted and error-prone process, especially when using the OpenerTarget class from luigi.contrib.opener. So, I chose to implement the above functions in file.py and mock.py (s3.py already had support for most functions) in order to present a uniform interface across classes which inherit from FileSystem and FileSystemTarget.
Have you tested this? If so, how?
I have included 3 unit tests:
file_test.py:
test_copy()
mock_test.py:
test_copy()
test_rename()
All above test cases pass.

@Tarrasch any chance you could take a look at this and see if there's anything that needs to be changed?

It seems like you should also add copy() and rename() to target.FileSystem() if everything that implements a FileSystem should have these methods.

@tusharbhat, Overall this looks good to. Just check out @dlstadther's comments and then I think this is pretty much good to go.

@dlstadther  , I made the changes, thanks for the feedback. @Tarrasch , code's ready to go

Assuming tests pass and @Tarrasch approves, this lgtm. Thanks!

Thanks @tusharbhat and @dlstadther ! :)

authors: Tarrasch dlstadther tusharbhat

repo: spotify/luigi


text:
Add TaskLauncherKubernetesSink

Resolves https://github.com/spring-cloud-stream-app-starters/app-starters-release/issues/30

I'll update it on merge.

LGTM

Resolved Code Review Issues, Squashed, Merged.

authors: cppwfs trisberg


text:
No HttpServletRequest available exception when using Vault with embedded Cloud Config Server

Hi,
I am getting a similar error as reported in issue #1393. Moving to 2.1.3.RELEASE doesn't seem to have resolved the bug completely - or maybe i'm missing something else. Please advice. Below is the stack error stack i get.
Caused by: java.lang.IllegalStateException: No HttpServletRequest available
	at org.springframework.cloud.config.server.environment.HttpRequestConfigTokenProvider.getToken(HttpRequestConfigTokenProvider.java:41) ~[spring-cloud-config-server-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.cloud.config.server.environment.VaultEnvironmentRepository.getToken(VaultEnvironmentRepository.java:218) ~[spring-cloud-config-server-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.cloud.config.server.environment.VaultEnvironmentRepository.read(VaultEnvironmentRepository.java:209) ~[spring-cloud-config-server-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.cloud.config.server.environment.VaultEnvironmentRepository.findOne(VaultEnvironmentRepository.java:147) ~[spring-cloud-config-server-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.cloud.config.server.environment.CompositeEnvironmentRepository.findOne(CompositeEnvironmentRepository.java:52) ~[spring-cloud-config-server-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.cloud.config.server.environment.EnvironmentRepositoryPropertySourceLocator.locate(EnvironmentRepositoryPropertySourceLocator.java:55) ~[spring-cloud-config-server-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:94) ~[spring-cloud-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
	at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:628) ~[spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]
	at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:364) ~[spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:305) ~[spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]

I've attached the sample project which replicated this error
vault-config-server.zip
thanks!

You have to provide a vault token via spring.cloud.config.server.vault.token

Thanks Spencer! Passing the token resolved the exception. That error threw me off as it wasn't clear to me that i had to pass that as a config. I was under the impression that I would just have to pass via the request X-Config-Token after the application started up.
I did look at the VaultEnvironmentProperties class and that didn't have the token either.
My suggestion is to add a note in the documentation around the same as there is no mention of this anywhere. If you agree I can submit a PR with that update to the docs.
tx again!

PRs welcome

authors: pankesh spencergibb

repo: spring-cloud/spring-cloud-config


text:
Documentation: override-none property works in only bootstrap configuration

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
As mentioned in #1856, override-none property is not working without bootstrap configuration.
It was useful feature but can't be used without bootstrap configuration.
It will be better to describe the information in the spring cloud documentation.
https://docs.spring.io/spring-cloud/docs/2022.0.4/reference/html/configprops.html
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This is already called out here https://docs.spring.io/spring-cloud-config/docs/4.0.4/reference/html/#_using_bootstrap_to_override_properties

Oh, I overlooked that, great!
https://github.com/spring-cloud/spring-cloud-config/commit/599c0603fe8f34e3c43c59b10e08ceaebac629f4
That's been added since v3.1.7. (I read Spring Cloud Config documentation of version 3.0.x)
It will be better if the explanation is added to the comment of the override-none property.

authors: hojongs ryanjbaxter


text:
Gateway MVC: Is it compatible with spring-cloud 2021.0.5 and spring-boot 2.7.11

Is your feature request related to a problem? Please describe.
We have a number of spring-boot-starter-web 2.7.11 applications that act as API gateways to our frontends and use ZUUL.
We want to upgrade these to Spring Boot 3.x.x.
To upgrade we need to get rid of ZUUL.
We would like to use Spring Cloud Gateway Server MVC as it will be easier to migrate our current implementation.
One of the migration options we are considering is running ZUUL and Spring Cloud Gateway Server MVC alongside each other in the same application.
Describe the solution you'd like
Is Spring Cloud Gateway Server MVC compatible with  spring-cloud 2021.0.5 and spring-boot 2.7.11?
Describe alternatives you've considered
Alternatives are implementing Spring Cloud Gateway in a brand new service.
Additional context
N/A

No. It requires spring boot 3.2

authors: pkoulerimarshmallow spencergibb

repo: spring-cloud/spring-cloud-gateway


text:
Spanner REST Repo PUT operation not supported

I think this is actually similar to the Datastore issue we encountered a few months ago:
https://github.com/spring-cloud/spring-cloud-gcp/issues/1773
The source is this SO issue : https://stackoverflow.com/questions/58815607/setting-the-primary-key-directly-via-the-key-id-property-is-not-supported-span
In there the user is doing a PUT request to write a new entity to Spanner, but because the new ID is contained as a string in the URL, it's not converted properly to the Spanner Key.java type. So this needs to be supported.

Thanks, @ChengyuanZhao!

The conversion works just fine. The real issue is ConvertingPropertyAccessor tries to set SpannerCompositeKeyPropert on the entity object instead of setting the String Id field.

authors: ChengyuanZhao dmitry-s meltsufin

repo: spring-cloud/spring-cloud-gcp


text:
Send http request with RestTemplate, throw error "https protocol is not supported"

Background: Build a microservice project using Spring Cloud and use RestTemplate to make calls between microservices.
Question: At present, our production environment has a very serious problem. When the service A sends an http request to the service B, it occasional throws error "https protocol is not supported".It's very strange that why it throws https error when I send http request.
There is no problem in the test environment, and only happened by chance in the production environment. We investigated a lot of factors, and ultimately found a class in the Spring Cloud: org.springframework.cloud.netflix.ribbon.DefaultServerIntrospector, the source is as follows:
`
@Override
public boolean isSecure(Server server) {
	// Can we do better?
	return (""+server.getPort()).endsWith("443");
}

`
org.springframework.cloud.netflix.ribbon.RibbonUtils has a method calling the isSecure method mentioned above, whose source is as follows:
`
    public static URI updateToHttpsIfNeeded(URI uri, IClientConfig config, ServerIntrospector
            serverIntrospector,Server server) {
	String scheme = uri.getScheme();
	if (!"".equals(uri.toString()) && !"https".equals(scheme) && isSecure(config, serverIntrospector, server)) {
		UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUri(uri).scheme("https");
		if (uri.getRawQuery() != null) {
			// When building the URI, UriComponentsBuilder verify the allowed characters and does not
			// support the '+' so we replace it for its equivalent '%20'.
			// See issue https://jira.spring.io/browse/SPR-10172
			uriComponentsBuilder.replaceQuery(uri.getRawQuery().replace("+", "%20"));
		}
		return uriComponentsBuilder.build(true).toUri();
	}
	return uri;
    }

`
The reason why it occasionally throws https error is we use docker container in the production environment,the host uses a random port, as long as the port ends with 443 ,the problem will occur.
Oh my God! ! ! Why is this code written like that? Is this a bug?
@spencergibb @jebeaudet

Closing this due to inactivity. Please re-open if there's more to discuss.

authors: spencergibb zuohongda

repo: spring-cloud/spring-cloud-netflix


text:
How to delay eureka client registration eureka server?

In K8S, I have a Spring Boot application which is also a Eureka client. The normal behavior of the application is to register with Eureka server on start up as UP. I have a requirement that the application shouldn't register with the Eureka server until k8s readiness finished

Off the top of my head, set initial status to out of service then you're looking update it on some event

thanks

authors: kinsey-jian spencergibb


text:
Fix Feign Compression Config Order

Fixes #1580

Does it work moving from before to after?

According to @jpuigsegur and @pgonzalezgua, yes

OK, wonder if there is a way to test. If not, LGTM.

@spencergibb I wrote up a simplistic test which makes sure the configuration is enabled.

authors: ryanjbaxter spencergibb


text:
Return HTTP status code 504 for Hystrix timeout in Zuul proxy (issue 2965)

This is an enhancement for this one
Perhaps will be better to fix that inside zuul-core because my solution isn't what I'm proud, but I tested that and it works.

Codecov Report

Merging #3060 into master will increase coverage by 0.51%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #3060      +/-   ##
============================================
+ Coverage     65.85%   66.37%   +0.51%
- Complexity     1439     1444       +5
============================================
  Files           182      182
  Lines          6756     6762       +6
  Branches        814      816       +2
============================================
+ Hits           4449     4488      +39
+ Misses         1998     1964      -34
- Partials        309      310       +1

Impacted Files
Coverage Δ
Complexity Δ

...oud/netflix/zuul/filters/post/SendErrorFilter.java
73.07% <100%> (+3.51%)
15 <0> (+3)
:arrow_up:

...etflix/turbine/stream/HystrixStreamAggregator.java
73.68% <0%> (-5.27%)
8% <0%> (-1%)

...k/cloud/netflix/eureka/EurekaClientConfigBean.java
30.03% <0%> (+0.68%)
46% <0%> (+2%)
:arrow_up:

...cloud/netflix/eureka/EurekaInstanceConfigBean.java
69.03% <0%> (+16.75%)
54% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 90c78d4...1ba7b30. Read the comment docs.

@ryanjbaxter
fixed

authors: codecov-io dev-priporov


text:
feign.FeignException: status 400 reading

2020-05-12 10:48:09.226 ERROR 41148 --- [nio-9099-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is feign.FeignException: status 400 reading UserFeignClient#getHello(); content:
] with root cause
feign.FeignException: status 400 reading UserFeignClient#getHello(); content:
at feign.FeignException.errorStatus(FeignException.java:62) ~[feign-core-9.5.1.jar:na]
at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:91) ~[feign-core-9.5.1.jar:na]
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:138) ~[feign-core-9.5.1.jar:na]
at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76) ~[feign-core-9.5.1.jar:na]
at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103) ~[feign-core-9.5.1.jar:na]
at com.sun.proxy.$Proxy91.getHello(Unknown Source) ~[na:na]
at com.ls.web.controller.UserController.hello(UserController.java:27) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-embed-websocket-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) [tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.31.jar:8.5.31]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_25]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.31.jar:8.5.31]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]

Because the feign invoking url is  Computer domain name ，add my invoking url is ok
`@FeignClient(value = "user-service",url = "http://127.0.0.1:9091")
@RequestMapping(value = "/user")
public interface UserFeignClient {
@GetMapping("/queryUserList")
List<TbUser> queryUserList();

@GetMapping(value = "/getHello")
String getHello();

}`

repo: spring-cloud/spring-cloud-openfeign


text:
GH-79: Add AWS Integration tests module

Fixes GH-79 (https://github.com/spring-cloud/spring-cloud-stream-app-starters/issues/79)
The real testing against AWS is based on the Cloud Formation and Stack templating.

Add module spring-cloud-starter-stream-aws-integration-tests
Include maven-failsafe-plugin to run Integration Tests in safe mode and don't run them with the Surefire plugin.
Provide the ability to read AWS credentials from an external properties file. See README.adoc in the module.
Add Cloud Formation Stack template - AwsIntegrationTestTemplate.json
Add AwsIntegrationTestStackRule JUnit Rule to read AWS credentials, store them in the System.properties and create and remove the test Stack around target test class.
Add S3Source test: stores a content in the TestBucket and the S3Source application poll it with the mode=lines.
Fix AmazonS3SourceConfiguration to accept ResourceIdResolver to resolve the real S3 bucket against the AWS stack in which our application is ran.

Note: this new module is intended to utilize integration tests for any other AWS new SCSt applications.
More over their tests must be placed in the same SpringCloudStreamAwsApplicationsITCase to avoid extra time and, of course, payment for stack creation.
In other words: the stack must be created only once and only after that we should run all our integration tests.

Fixed, rebased, squeshed.
See the commit comments for more info,

rebased and merged.

authors: artembilan sobychacko


text:
Rename azure spring cloud to Azure Spring Apps

Rename azure spring cloud to Azure Spring Apps
Removing anything related to App service

@chenrujun Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@chenrujun Thank you for signing the Contributor License Agreement!

Hi, @Buzzardo, could you please help to merge this PR？

authors: chenrujun pivotal-cla

repo: spring-guides/gs-spring-boot-for-azure


text:
Error creating bean with name "org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration"

Hi guys! I am trying to build a native docker image for a JPA/Hibernate application. The build succeeds but there is an exception when I run it.
The app is called book-api. It's a simple spring-boot application that uses basically dependencies like actuator, data-jpa, validation, webflux, lombok and mapstruct. MySQL is used as storage.
I am using spring-boot version 2.4.0-M3 and spring-graalvm-native version 0.8.1. Besides, I've followed what is described in the spring-graalvm-native documentation https://repo.spring.io/milestone/org/springframework/experimental/spring-graalvm-native-docs/0.8.1/spring-graalvm-native-docs-0.8.1.zip!/reference/index.html
Here is the project link https://github.com/ivangfr/graalvm-quarkus-micronaut-springboot/tree/master/book-api/springboot-book-api
The exception I am getting is this one
2020-10-04 14:00:59.659  WARN 1 --- [           main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalStateException: Failed to asynchronously initialize native EntityManagerFactory: java.lang.ExceptionInInitializerError
2020-10-04 14:00:59.659  INFO 1 --- [           main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2020-10-04 14:00:59.659  WARN 1 --- [           main] o.s.b.f.support.DisposableBeanAdapter    : Invocation of destroy method failed on bean with name 'entityManagerFactory': java.lang.IllegalStateException: Failed to asynchronously initialize native EntityManagerFactory: java.lang.ExceptionInInitializerError
2020-10-04 14:00:59.659  INFO 1 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2020-10-04 14:00:59.663  INFO 1 --- [           main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-10-04 14:00:59.665 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalStateException: Failed to asynchronously initialize native EntityManagerFactory: java.lang.ExceptionInInitializerError
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1415) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:608) ~[na:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[na:na]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[na:na]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[na:na]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[na:na]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925) ~[na:na]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:588) ~[na:na]
	at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:63) ~[na:na]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:770) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:421) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:329) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1291) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at com.mycompany.springbootbookapi.SpringbootBookApiApplication.main(SpringbootBookApiApplication.java:10) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
Caused by: java.lang.IllegalStateException: Failed to asynchronously initialize native EntityManagerFactory: java.lang.ExceptionInInitializerError
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.getNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:573) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.invokeProxyMethod(AbstractEntityManagerFactoryBean.java:516) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:731) ~[na:na]
	at com.sun.proxy.$Proxy332.getStatistics(Unknown Source) ~[na:na]
	at io.micrometer.core.instrument.binder.jpa.HibernateMetrics.<init>(HibernateMetrics.java:110) ~[na:na]
	at org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration.bindEntityManagerFactoryToRegistry(HibernateMetricsAutoConfiguration.java:68) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration.lambda$bindEntityManagerFactoriesToRegistry$0(HibernateMetricsAutoConfiguration.java:60) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:na]
	at org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration.bindEntityManagerFactoriesToRegistry(HibernateMetricsAutoConfiguration.java:60) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:755) ~[na:na]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130) ~[na:na]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	... 18 common frames omitted
Caused by: java.lang.ExceptionInInitializerError: null
	at com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:291) ~[na:na]
	at net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder$ParameterBinder.<clinit>(TargetMethodAnnotationDrivenBinder.java:164) ~[na:na]
	at com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:351) ~[na:na]
	at com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:271) ~[na:na]
	at net.bytebuddy.implementation.MethodDelegation.withDefaultConfiguration(MethodDelegation.java:601) ~[na:na]
	at net.bytebuddy.implementation.MethodDelegation.to(MethodDelegation.java:271) ~[na:na]
	at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState$ProxyDefinitionHelpers$1.run(ByteBuddyState.java:263) ~[na:na]
	at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState$ProxyDefinitionHelpers$1.run(ByteBuddyState.java:259) ~[na:na]
	at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState$ProxyDefinitionHelpers.<init>(ByteBuddyState.java:269) ~[na:na]
	at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState$ProxyDefinitionHelpers.<init>(ByteBuddyState.java:244) ~[na:na]
	at org.hibernate.bytecode.internal.bytebuddy.ByteBuddyState.<init>(ByteBuddyState.java:86) ~[na:na]
	at org.hibernate.bytecode.internal.bytebuddy.BytecodeProviderImpl.<init>(BytecodeProviderImpl.java:53) ~[na:na]
	at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:345) ~[na:na]
	at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:337) ~[na:na]
	at org.hibernate.cfg.Environment.<clinit>(Environment.java:230) ~[na:na]
	at com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:351) ~[na:na]
	at com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:271) ~[na:na]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$MergedSettings.<init>(EntityManagerFactoryBuilderImpl.java:1355) ~[na:na]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$MergedSettings.<init>(EntityManagerFactoryBuilderImpl.java:1345) ~[na:na]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.mergeSettings(EntityManagerFactoryBuilderImpl.java:478) ~[na:na]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:217) ~[na:na]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:168) ~[na:na]
	at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:52) ~[na:na]
	at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[com.mycompany.springbootbookapi.SpringbootBookApiApplication:na]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
	at java.lang.Thread.run(Thread.java:834) ~[na:na]
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517) ~[na:na]
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192) ~[na:na]
Caused by: java.lang.IllegalStateException: size = 0
	at net.bytebuddy.matcher.FilterableList$AbstractBase.getOnly(FilterableList.java:139) ~[na:na]
	at net.bytebuddy.implementation.bind.annotation.Super$Binder.<clinit>(Super.java:223) ~[na:na]
	at com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:351) ~[na:na]
	at com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:271) ~[na:na]
	... 30 common frames omitted

Any idea what I should do? Thanks!

Hello,
I encounter similar issues with HSQLDB.
You may follow what have been done in the petclinic-jpa sample, and this blog post Spring Tips: Spring and GraalVM (pt. 2).
First, remove bytebuddy from your dependencies, see maven pom.xml. And add an hibernate.properties file with the following property: hibernate.bytecode.provider=none
So now, nothing will be generated at startup time. To allow hibernate to work correctly, you will have to generate required artifacts at build time. For this in maven, one can use the hibernate-enhance-maven-plugin.
These steps should help you. Then you may have to add some classes in reflect-config.json if they are not correctly detected.
Regards

Hi @Query-Interface , thanks for the tips. I've followed the examples and I was able to build and run the docker image of my app.
Here are my changes (https://github.com/ivangfr/graalvm-quarkus-micronaut-springboot/commit/b88a0d59647a81f733e7dc4494dd11e12b7cf247) in case someone faces the same issue.

authors: Query-Interface ivangfr


text:
Non-ASCII Java classes produce errors

having non-ascii Java classes (in my case, using Japanese characters) and attempting to use spring native in the project results in exceptions being thrown during compile time, or during run time (if these files are first packaged in a jar and included in the project), even if encoding parameters are explicity set to UTF8 via command line, or via parameters in creating a docker image.

Could you please share the error messages you get and/or a repro project?

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.

authors: plcrdv sdeleuze spring-projects-issues


text:
Add ChatClient Advisor Observability support

Resolves https://github.com/spring-projects/spring-ai/issues/1258

merged in 3b014db1655a936e51c2549d76bfd9f120755111

authors: markpollack tzolov

repo: spring-projects/spring-ai


text:
Question: Why DeDuplicationStrategy class is so specific?

I developed a filtering feature on top of Kafka using flatbuffer. The filter uses headers to filter or not the message. The goal is to deserialize the payload only when the consumer accepts the message.
I finished yesterday to migrate my old spring-kafka library based on the version 0.8 to use this project and it works.
My question is:
A DeDuplicationStrategy has been created to filter the message is the message is a dupe. This strategy is great for the dedupe use case. However, this feature could be more generic to support many use cases.
My use case could fit perfectly in this strategy, however my use case is not a dedupe is a filter. So I decided to not use the DeDuplicationStrategy interface to handle this use case.
I would like to know if the DeDuplicationStrategy could be replaced by a generic interface that could support different strategies (dedupe, filtering or another use case) to not send the message to the listener.
I am hopping I am clear.
Thanks for your great work.

Hello, @jmirc !
Thank you for feedback.
Well, the feature has been introduced very recently in the current RC1 milestone: #80 .
Even if you can achieve your filtering goal with the current DeDuplicationStrategy (with some inconvenience around the interface and its method names), I agree that we can rename it into FilterStrategy, when dedup logic ins covered as well.
That is how we can implement Idempotent Receiver with the regular Spring Integration Filter: http://docs.spring.io/spring-integration/reference/html/messaging-endpoints-chapter.html#idempotent-receiver.
@garyrussell , WDYT?

Yes, fine with me; thanks for the feedback.

I am wondering if we should perhaps consider making this a Listener implementation or an advice - there are a few other concerns that could be addressed here - including retry. And at this point there is a risk for the container (which is not very simple by itself) to become very complex, IMO.

@mbogoevici , @garyrussell did that as DeDuplicatingMessageListenerAdapter already, but yes, adviceChain around the listener.onMessage() sounds good for me.
And we could move retryTemplate from puase/resume  solution to the Advice too.

Right - that's why I decided to do it as listener adapter to keep the concern out of the container itself - we could add an advising listener adapter with an advice chain. Of course, individual adapters can be chained too - avoiding reflection, proxies etc.
Yes, we could move retry to an adapter too.

PR issued - I created a separate issue #105 for the retry template extraction.

authors: artembilan garyrussell jmirc mbogoevici

repo: spring-projects/spring-kafka


text:
ParseStringDeserializer throws NullPointerException when message is null

Back port issue for: https://github.com/spring-projects/spring-kafka/issues/2779

Fixed via: https://github.com/spring-projects/spring-kafka/commit/3443e201c5cf6fa42bffa6eee95cb56fd7578918


text:
#137 - added batch encrypt & decrypt APIs

Per https://github.com/spring-projects/spring-vault/issues/137, added encrypt & decrypt APIs which does utilizes the batch operation of vault transit backend.
please review and let me know if there is any room for improvement.

@mp911de

need quick help on understanding why build failed on Travis CI however passes on local.
error:
org.springframework.vault.VaultException: Status 400 transit/encrypt/mykey: missing plaintext to encrypt

	at org.springframework.vault.core.VaultTransitTemplateIntegrationTests.batchEncryptionAndDecryption(VaultTransitTemplateIntegrationTests.java:294)

surprisingly travis is not using 0.8.2 version of vault which is defined in .travis.yml:
Setting environment variables from .travis.yml
$ export VAULT_VER=0.5.2

I was able to reproduce the issue on my local
by setting

in src/test/bash/install_vault.sh and installing the vault again and running the test cases.
Looks like the batch transit operations were not available in 0.5.2.
Tested and found out that the earliest version when batch operation worked was in 0.6.5.
Hence we need at least 0.6.5 to pass this PR.

6 variations of the build failed due to following iterations:
    - VAULT_VER=0.5.2
    - VAULT_VER=0.6.0
    - VAULT_VER=0.6.1
    - VAULT_VER=0.6.2
    - VAULT_VER=0.6.3
    - VAULT_VER=0.6.4

Please include version guards (see here for an example) to conditionally run the batch tests.

@mp911de tried to incorporate changes you requested.
Please let me know if something got missed out in my understanding.
thanks

Thanks for the update. The change looks pretty cool now. I would suggest to change results of VaultDecryptionResult decrypt(…)  and VaultEncryptionResult encrypt(…) to List<VaultDecryptionResult> decrypt(…)  and List<VaultEncryptionResult> encrypt(…) to reduce responsibility to element-wise results.
Regarding Lombok usage, I'd like to keep public API parts without using actually it. In public API parts we just use @EqualsAndHashCode and @ToString – methods that do not harm if the code isn't visible. We use @Data only in private parts (such as RawTransitKeyImpl in VaultTransitTemplate).

about the signature change recommendation.
VaultDecryptionResult holds the VaultResponse.
vaultResponse.getData().get("batch_results") holds the result of individual decryption responses.
Per your suggestion, VaultDecryptionResult will now contain individual responses instead of whole batch result.
will work on it.

@mp911de
updated code per your suggestions.
please review.

Thanks a lot. I will take the pull request from here. I think I'll do the merge it during the next week.

awesome. thanks for your guidance Mark.

That's merged and polished now. Thanks for your contribution.

thank you.

repo: spring-projects/spring-vault


text:
[Sprint 53] 1.2.x only add kryo optimizations discovered in benchmarking and clean up

Addresses XD-3238 and XD-2825
Not the corresponding changes will be mirrored in s-c-s.

Output creation optimized in serialize methods
Support kryo.setReferences(false) which is optimal for object graphs with no cycles, but required otherwise. The default is true for backward compatibility. In general, we must be able to serialize any Pojo. However if users know that that there are no cyclical references in their domain, and they need high throughput, can set the property spring.xd.codec.kryo.references: false in servers.yml.
XD-2825. After simplifying the class hierarchy, there  is no longer an implementation required of _protected T doDeserialize(Kryo kryo, Input input).
AbstractMultiTypeKryoCodec has been removed and merged into AbstractKryoCodec. XD no longer implements an Codecs for specific types. Only PojoCodec is used. CompositeCodec is not used but preserved just in case.

LGTM, Once we finalize on the description, I can merge.

Squashed, rebased and merged as 1fce81983dedb901998b221a7a0051cf8ffc56ac

authors: dturanski ilayaperumalg

repo: spring-projects/spring-xd


text:
[Sprint: 60] XD-3632 Log reactor completions at info level.

Fixes #1810 (GitHub). Fixes XD-3632.

merged

authors: markpollack sworisbreathing


text:
Bean Validations API (JSR-303) support for Request Parameters

Version 2.4.0 added JSR-303 support for the models (https://github.com/springfox/springfox/issues/356).
For Request Parameters the following annotations could be supported as well:

@Size
@Min
@Max
@NotNull

@RequestParam: not necessary if using @RequestParam(required=true) / by default  all request parameters are required
@ModelAttribute: necessary for parameters declared using a POJO/ @ModelAttribute

After Swagger-UI supports picking it up, it could be displayed/rendered in Swagger-UI as well:
https://github.com/swagger-api/swagger-ui/issues/1936

Regarding @Size: As of 2.4.0 the allowableValues are not displayed in the API docs, see #1244

Regarding @NotNull I can already provide a PR.
Regarding @Size/@Min/@Max #1244 should be fixed first to get it to work properly.

Perhaps this issue should be tagged as "can-use-for-docs"?
https://github.com/springfox/springfox/labels/can-use-for-docs

This has been fixed via #1371

Where information about pattern should be shown? I have @Pattern annotations but in UI I don't see any infomation.

authors: dilipkrish jfiala jjzabkar raderio

repo: springfox/springfox


text:
Support @Length validation

I'd love to see support for @Length bean validation. There is already the @Size supported, but that's not applicable on strings!
@NotBlank
@Length(min = 6, max = 7)
private String test;

I don't see why a issue that has not been fixed for too long should be a wontfix?

Its a bot that I've recruited for assistance :) Sure this is feature that can be implemented

Wouldn't this feature involve adding hibernate dependency

authors: YangfanCheng1 dilipkrish membersound


text:
Add EIP-55 validation

EIP-55 validation should be added to parsing to avoid interop issues. We should use the new EIP-55 test cases from the siwe repository.

Closed in #27.

authors: awoie sbihel

repo: spruceid/siwe-py


text:
🛑 Wordpress-Plattform is down

In fa40898, Wordpress-Plattform (https://sp-parl.ch) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wordpress-Plattform is back up in b07d0bd after 45 minutes.

repo: spschweiz/status

license: MIT


text:
Import and/or client order now appears to matter between boto3 and moto

I was eagerly expecting #1907 and moto 1.3.7 to resolve my failing tests... however, even with all relevant modules up to date, I'm still getting botocore.exceptions.ClientError: An error occurred (InvalidClientTokenId) when calling the XXX operation: The security token included in the request is invalid.
(for the record, here's my current module versions:)
boto==2.49.0
boto3==1.9.37
botocore==1.12.37
moto==1.3.7

Trying to reproduce the problem and narrow it down led me to an odd test case. For me, the following code completes successfully:
import boto3
from moto import mock_iam
iam_resource = boto3.resource('iam')

with mock_iam():
    user = iam_resource.create_user(UserName='john')
    print(user)

While this results in the ClientError mentioned previously:
import boto3
iam_resource = boto3.resource('iam')
from moto import mock_iam

with mock_iam():
    user = iam_resource.create_user(UserName='john') # throws ClientError
    print(user)

Note that the only difference is that the mock_iam import now appears after the definition of iam_resource.
Of course, you may think as I did, we may just need to re-initialize the iam_resource instance - but sadly that doesn't work:
import boto3
iam_resource = boto3.resource('iam')
from moto import mock_iam

with mock_iam():
    iam_resource = boto3.resource('iam')
    user = iam_resource.create_user(UserName='john') # still throws ClientError
    print(user)

For me, this is the problem - in my test suite, I have one test file which loads boto3 resources but no mocks, then subsequent test files load the mocks before the boto3 resources, but ClientError is still thrown. If I run pytest with just one test file at a time, all tests pass.
Is this a case of user error? Is there some way I can "reset" boto3's clients and resources after they've first initialized, so that moto can intercept the requests properly? Or is this a moto bug?

I think I've figured out how to work around this issue. Calling boto3's setup_default_session() method causes the default session to be regenerated, with moto's hooks in place if moto has been activated.
The following works:
import boto3
iam_resource = boto3.resource('iam')
from moto import mock_iam

with mock_iam():
    boto3.setup_default_session()
    iam_resource = boto3.resource('iam')
    user = iam_resource.create_user(UserName='john') # succeeds
    print(user)

If this is a FAQ, it might need to be added to the documentation.

Also ran into this issue, thanks so much for your setup_default_session workaround. I would definitely say this is a moto issue.

I have the same problem, except the workaround above does not work for me... Changing the order of imports doesn't fix it either. ☹
Versions:
boto                         2.49.0
boto3                        1.9.118
botocore                     1.12.118
moto                         1.3.7

I'm on Python 2.7, in case that matters at all.

I had to refactor all my package code to use lazy boto3 resource instantiations.  Then everything works OK, even without the setup_default_session option.  On gitlab CI, providing bogus environment variables for the AWS credentials worked OK too.
So instead of:
@dataclass
class S3Util:
    client = boto3.resource('s3')

Use properties to return on-demand and garbage collect them.  Let boto3 manage the resource pools etc. and don't hang on to them.  Something like:
class S3Util:
    @property
    def client(self):
        return boto3.resource('s3')

adding in boto3.setup_default_session() insode of the test with the @decorator/@mock_sns worked fine for me.
@mock_sns
def test_sns():
    boto3.setup_default_session()
    sns_client = boto3.client(service_name='sns', region_name='us-west-2',
                              aws_access_key_id='foo', aws_secret_access_key='boo')

    arn = sns_client.create_topic(Name='test-topic')```

Hi,
I am still getting the error for ecr:
botocore.exceptions.ClientError: An error occurred (UnrecognizedClientException) when calling the DescribeRepositories operation: The security token included in the request is invalid.

and, I am also getting:
/home/x/proj/lib/python3.6/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.23) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
Performing system checks...

I am getting this error only when I add moto to requirements.txt
If I run pip install moto after running pip install -r requirements.txt, I am not getting both of the errors.
boto3==1.9.88
botocore==1.12.0
moto==1.3.8

I solved it using
botocore==1.12.85
git+https://github.com/spulec/moto.git@df493ea18de22b4533073eee3e296686019911c2

Installing via commit till moto>1.3.8

As mentioned, this should be fixed in master, but feel free to reopen if there are still issues.

I ran into this today and it was solved using the boto3.setup_default_session() call. I'm not really sure where things were going wrong exactly but it lead me here. I'm using fairly new stuff:
moto==1.3.14.dev326
boto3==1.9.81
botocore==1.12.81

@spulec Do you know which commit fixes this so I can see if I'm using the right versions?

Feel free to try the very latest version: 1.3.15.dev393

@spulec I'm also seeing this using the latest master, but can't call boto3.setup_default_session() since I'm using Terraform, not Python. Any suggestions?

authors: ajhodges awiddersheim brady-gsa darrenleeweber jlee5000 kgutwin luispollo spulec vkartik97

repo: spulec/moto


text:
Getting objects with Storage Class = Glacier successfully

Hello,
I'm writing a test case to check if a functionality restoring an object from glacier works successfully or not.
However, getting an object with StorageClass='GLACIER' works successfully despite expectations of  returning an InvalidObjectStateError error as per documentation:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.get_object
mock_s3_client.put_object(Bucket="bucket", Key="test.txt", Body="contents", StorageClass='GLACIER')
    response_get = mocked_s3_client.get_object(Bucket='bucket', Key='test.txt')

Hi @btruong66, welcome to Moto, and thanks for raising this!
I'll mark this as an enhancement to implement this validation.


text:
[WIP] Adding get_random_password mock

Work in progress
Todo:

exclude_characters  separate helper function
require_each_included_type separate helper function
Needs tests

Coverage decreased (-0.1%) to 92.042% when pulling 2c15e237f7ade68807ec13b96ee4c3d2aa335ddc on sepulworld:adding_secretsmanager_random_password into ba1ceee95f289334b68330555598e80e581622ef on spulec:master.

Coverage decreased (-0.1%) to 92.042% when pulling 2c15e237f7ade68807ec13b96ee4c3d2aa335ddc on sepulworld:adding_secretsmanager_random_password into ba1ceee95f289334b68330555598e80e581622ef on spulec:master.

Coverage decreased (-0.1%) to 92.042% when pulling 2c15e237f7ade68807ec13b96ee4c3d2aa335ddc on sepulworld:adding_secretsmanager_random_password into ba1ceee95f289334b68330555598e80e581622ef on spulec:master.

This is awesome. Thanks for your continued work!

authors: coveralls sepulworld spulec


text:
Add instance AZ support in autoscaling

This issue refers to/fixes #1984.
Fix

I have made changes to ASG initialization that properly sets and updates availability zones (both direct setting, and if there are VPC identifiers that need to be taken into account).
I have made changes to propagate one of an ASG's availability zone to its instances when creating them.
I have made changes to the return templates for an ASG's describe methods (describe_auto_scaling_groups, describe_auto_scaling_instances) so that instead of returning a hardcoded AZ (us-east-1e), a 'real' AZ is returned.
I have written tests for the above changes.

This looks good, but Travis is failing. If we can get the tests passing, will be happy to merge.

@spulec I've committed a fix but Travis doesn't seem to be running. Do you happen to know why?

authors: kawaiwanyelp spulec


text:
Allow mock_s3 to use the standalone moto server running in alternative endpoint by adding TEST_SERVER_MODE_ENDPOINT environment variable

Before this, the ServerMode (TEST_SERVER_MODE=true) endpoint has been hardcoded to http://localhost:5000. If MotoServer runs in different endpoint than http://localhost:5000, for example in case when the it runs in separate Docker container, the tests are failing.
This pull request makes the previously hardcoded value as default value for new TEST_SERVER_MODE_ENDPOINT environment variable.  If MotoServer runs in different endpoint than http://localhost:5000 the endpoint can be overridden by using TEST_SERVER_MODE_ENDPOINT environment variable.
Example usage in docker-compose.yml:
  moto-server:
    image: motoserver/moto:2.2.11

  test:
    build:
      context: packages/tests/
      dockerfile: Dockerfile_tests
    depends_on:
      - moto-server
    environment:
      TEST_SERVER_MODE: 'true'
      TEST_SERVER_MODE_ENDPOINT: http://moto-server:5000
      AWS_ENDPOINT_URL: http://moto-server:5000

In addition, this pull requests fixes error in documentation: It was saying erroneously that MOTO_CALL_RESET_API=true keeps the state in between tests.

This pull requested was inspired by discussion in https://github.com/spulec/moto/issues/4418 ("Allow mock_s3 to use the standalone moto server").

Hi @ikkala, this makes a lot of sense, to make this endpoint configurable. There is already a PR outstanding with some changes in this area, #4658. I'll have another look here once that is merged.

Ok, excellent!  Nice to hear that there's related work going on.
I tried to skim through similar issues and pull requests but didn't find anything that changes also the host name.  For example, looks like that the #4658 only makes the port variable: https://github.com/spulec/moto/pull/4658/files#diff-3ed8c52a492672972d143cfc55b9d3a6024396b00ab554538b72c01b46948430R522
So, I decided to make this pull request.
This pull request change is already in use in our integration tests that have been put together by using Docker Compose, as described in "Example usage in docker-compose.yml" above, so it works. But, it's only for testing of S3 bucket handling, so it might of course miss something that should be added for make it work in all scenarios.

Hi @bblommers again, looks like you have now merged the #4658 changes -- you make lots of work for moto, thank you!  :+1:
I adapted this PR changes to the latest master trunk. Would it be ready for merge in near future..?

authors: bblommers ikkala


text:
fix(route53): Allow upsert for resource records that already exist.

From AWS API Reference about the UPSERT action:

UPSERT: If a resource set exists Route 53 updates it with the values in the request.

Thus, providing a resource record set that already exist to the UPSERT
action should succeed.
Additional changes in tests:

Add check for error message in the existing unit test.
Add unit test for creating a resource record with an UPSERT.

Codecov Report

Merging #5788 (0ee79e3) into master (92396bc) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #5788   +/-   ##
=======================================
  Coverage   96.19%   96.19%
=======================================
  Files         752      752
  Lines       73863    73863
=======================================
+ Hits        71054    71055    +1
+ Misses       2809     2808    -1

Flag
Coverage Δ

servertests
36.96% <57.14%> (ø)

unittests
96.13% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/route53/exceptions.py
96.73% <100.00%> (ø)

moto/route53/models.py
96.75% <100.00%> (+0.20%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

The original issue requested validation for CREATE and DELETE requests, see InvalidChangeBatch.
And that makes sense to me - one wouldn't delete a record twice. Are you aware of any documentation on whether duplicate UPSERTS are allowed, @pawelrubin? I briefly checked, but I couldn't find anything, and I do not have the option to verify this with AWS atm.
Also: the new test only upserts once, so it does not verify the logic change.

Hi @bblommers,
thank you for the quick response. I've rephrased the commit message to better address the issue, please have another look.
Subsequent UPSERTs with the same changes are indeed allowed. Making the next call to ChangeResourceRecordSets with the same changes as the previous one is essentially a no-op.

Subsequent deletes are handled later on in the codebase in here - trying to delete the same record set twice will result in an error.
The ResourceRecordAlreadyExists error makes sense only in the CREATE case.

Subsequent deletes are handled later on in the codebase in here - trying to delete the same record set twice will result in an error.

I've just tested it out in your branch - it does not actually throw an error. The logic you pointed out checks whether our change log contains a CREATE/UPSERT record, i.e. whether it has been created it any point. But the change log is append-only, so even if a record has been deleted, the changelog will still contain the original CREATE.
However, the fact that we rely on our change log to determine whether a record has been created before is actually incorrect. This makes it impossible to recreate a previously deleted record, which (I assume) is supported by AWS.
I'm going to go ahead and merge this for now, as it does fix an existing bug. Let's refactor this later on, and then we can validate new changes against the records that are currently active, instead of looking at a change log that may contain outdated information.
Thank you again for the PR @pawelrubin!

Oh, you're right. I incorrectly assumed that the logic mentioned above was correct.
Thank you for a thorough review.

@bblommers what does the release schedule look like? Can we expect the 4.0.13 version to be released anytime soon?

@bblommers what does the release schedule look like? Can we expect the 4.0.13 version to be released anytime soon?

Hi @pawelrubin, I don't have a lot of time over Christmas, so the next release will probably happen in the first week of January.

Got it. Merry Christmas Bert! 🎅🏻

authors: bblommers codecov-commenter pawelrubin


text:
Cannot direct Spyder 5.0 to conda-env - Spyder-kernels dependency issue

Issue Report Checklist

[x ] Searched the issues page for similar reports
[ x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ x] Tried basic troubleshooting (if a bug/error)

[x ] Restarted Spyder
[ x] Reset preferences with spyder --reset
[ x] Reinstalled the latest version of Anaconda
[ x] Tried the other applicable steps from the Troubleshooting Guide

[x ] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
In fresh install using Standalone Installer on macOS Big Sur, Spyder-kernels is not working correctly. I can successfully run code in the default env that comes with Spyder, but I cannot change to other Conda environments to use other packages: whether the env was made before or after installing Spyder. I have a Conda-env successfully working in Spyder 4.2.1. I'm afraid to Conda update Spyder in that env at risk of disrupting my day-to-day workflow.
What steps reproduce the problem?

Download .dmg installer ('keep both')
Open Spyder (1st below error message appears)
Point Spyder to Python interpreter in previously working Conda-env
Restart Spyder (2nd error message appears)

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)
https://imgur.com/a/0UmopAT
https://imgur.com/a/TIBsa0v
Versions

Spyder version: 5.0.0 None
Python version: 3.9.2 64-bit
Qt version: 5.12.10
PyQt5 version: 5.12.3
Operating System: Darwin 20.3.0

Dependencies

# Mandatory:
applaunchservices >=0.1.7     :  0.2.1 (OK)
atomicwrites >=1.2.0          :  1.4.0 (OK)
chardet >=2.0.0               :  4.0.0 (OK)
cloudpickle >=0.5.0           :  1.6.0 (OK)
cookiecutter >=1.6.0          :  1.7.2 (OK)
diff_match_patch >=20181111   :  20200713 (OK)
intervaltree >=3.0.2          :  3.1.0 (OK)
IPython >=7.6.0               :  7.22.0 (OK)
jedi =0.17.2                  :  0.17.2 (OK)
jsonschema >=3.2.0            :  3.2.0 (OK)
keyring >=17.0.0              :  23.0.1 (OK)
nbconvert >=4.0               :  6.0.7 (OK)
numpydoc >=0.6.0              :  1.1.0 (OK)
parso =0.7.0                  :  0.7.0 (OK)
pexpect >=4.4.0               :  4.8.0 (OK)
pickleshare >=0.4             :  0.7.5 (OK)
psutil >=5.3                  :  5.8.0 (OK)
pygments >=2.0                :  2.8.1 (OK)
pylint >=1.0                  :  2.7.4 (OK)
pyls >=0.36.2;<1.0.0          :  0.36.2 (OK)
pyls_black >=0.4.6            :  0.4.6 (OK)
pyls_spyder >=0.3.2           :  0.3.2 (OK)
qdarkstyle =3.0.2             :  3.0.2 (OK)
qstylizer >=0.1.10            :  0.1.10 (OK)
qtawesome >=0.5.7             :  1.0.2 (OK)
qtconsole >=5.0.3             :  5.0.3 (OK)
qtpy >=1.5.0                  :  1.9.0 (OK)
setuptools >=39.0.0           :  54.1.2 (OK)
sphinx >=0.6.6                :  3.5.3 (OK)
spyder_kernels >=2.0.1,<2.1.0 :  2.0.1 (NOK) -- not sure why this is not ok
textdistance >=4.2.0          :  4.2.1 (OK)
three_merge >=0.1.1           :  0.1.1 (OK)
watchdog >=0.10.3;<2.0.0      :  1.0.2 (OK)
zmq >=17                      :  22.0.3 (OK)

# Optional:
cython >=0.21                 :  0.29.22 (OK)
matplotlib >=2.0.0            :  3.4.1 (OK)
numpy >=1.7                   :  1.20.2 (OK)
pandas >=1.1.1                :  1.2.3 (OK)
scipy >=0.17.0                :  1.6.2 (OK)
sympy >=0.7.3                 :  1.7.1 (OK)

Hi @doublezz10,
This is a duplicate of issue #15091 and it'll be fixed in our next version (5.0.1), to be released shortly.
Thanks for reporting!

but I cannot change to other Conda environments to use other packages: whether the env was made before or after installing Spyder

This will be fixed once the Anaconda team releases new packages for spyder-kernels 2.0.1

thanks all. did not see that issue when I was searching as I typed 'Spyder kernels' rather than 'spyder-kernels'
glad to hear it should be resolved soon

No prob @doublezz10. Also, if you want a very stable and robust Spyder, please stay with Spyder 4. Spyder 5 will take a couple of months to be stabilized and in the meantime we'll keep maintaining Spyder 4.

repo: spyder-ide/spyder


text:
Le programme se lance pas

Description
What steps will reproduce the problem?

Je lance Spyder
J'ouvre mon fichier
Je lance mon super programme
Et j'ai ensuite cette fenetre qui s'ouvre
Traceback
Traceback (most recent call last):
  File "C:\Program Files\WPy64-3940\python-3.9.4.amd64\lib\site-packages\spyder\plugins\editor\plugin.py", line 2795, in run_file
    self.re_run_file(save_new_files=False)
  File "C:\Program Files\WPy64-3940\python-3.9.4.amd64\lib\site-packages\spyder\plugins\editor\plugin.py", line 2819, in re_run_file
    all_saved = self.save_all(save_new_files=save_new_files)
  File "C:\Program Files\WPy64-3940\python-3.9.4.amd64\lib\site-packages\spyder\plugins\editor\plugin.py", line 2322, in save_all
    self.get_current_editorstack().save_all(save_new_files=save_new_files)
  File "C:\Program Files\WPy64-3940\python-3.9.4.amd64\lib\site-packages\spyder\plugins\editor\widgets\editor.py", line 2074, in save_all
    all_saved &= self.save(index, save_new_files=save_new_files)
  File "C:\Program Files\WPy64-3940\python-3.9.4.amd64\lib\site-packages\spyder\plugins\editor\widgets\editor.py", line 1863, in save
    self._save_file(finfo, index)
  File "C:\Program Files\WPy64-3940\python-3.9.4.amd64\lib\site-packages\spyder\plugins\editor\widgets\editor.py", line 1881, in _save_file
    self.autosave.remove_autosave_file(finfo.filename)
  File "C:\Program Files\WPy64-3940\python-3.9.4.amd64\lib\site-packages\spyder\plugins\editor\utils\autosave.py", line 318, in remove_autosave_file
    del self.file_hashes[autosave_filename]
KeyError: 'C:\\Users\\LUYDLIT\\.spyder-py3\\autosave\\TP1InfoMrNaudy.py'

Versions

Spyder version: 5.0.1
Python version: 3.9.4
Qt version: 5.15.1
PyQt5 version: 5.15.1
Operating System: Windows 10

Dependencies

# Mandatory:
atomicwrites >=1.2.0          :  1.4.0 (OK)
chardet >=2.0.0               :  4.0.0 (OK)
cloudpickle >=0.5.0           :  1.6.0 (OK)
cookiecutter >=1.6.0          :  1.7.2 (OK)
diff_match_patch >=20181111   :  20200713 (OK)
intervaltree >=3.0.2          :  3.0.2 (OK)
IPython >=7.6.0               :  7.22.0 (OK)
jedi =0.17.2                  :  0.17.2 (OK)
jsonschema >=3.2.0            :  3.2.0 (OK)
keyring >=17.0.0              :  23.0.1 (OK)
nbconvert >=4.0               :  6.0.7 (OK)
numpydoc >=0.6.0              :  1.1.0 (OK)
paramiko >=2.4.0              :  2.7.2 (OK)
parso =0.7.0                  :  0.7.0 (OK)
pexpect >=4.4.0               :  4.8.0 (OK)
pickleshare >=0.4             :  0.7.5 (OK)
psutil >=5.3                  :  5.8.0 (OK)
pygments >=2.0                :  2.8.1 (OK)
pylint >=1.0                  :  2.7.4 (OK)
pyls >=0.36.2;<1.0.0          :  0.36.2 (OK)
pyls_black >=0.4.6            :  0.4.6 (OK)
pyls_spyder >=0.3.2           :  0.3.2 (OK)
qdarkstyle =3.0.2             :  3.0.2 (OK)
qstylizer >=0.1.10            :  0.1.10 (OK)
qtawesome >=1.0.2             :  1.0.2 (OK)
qtconsole >=5.0.3             :  5.0.3 (OK)
qtpy >=1.5.0                  :  1.10.0.dev0 (OK)
setuptools >=39.0.0           :  56.0.0 (OK)
sphinx >=0.6.6                :  3.5.4 (OK)
spyder_kernels >=2.0.1;<2.1.0 :  2.0.1 (OK)
textdistance >=4.2.0          :  4.2.1 (OK)
three_merge >=0.1.1           :  0.1.1 (OK)
watchdog >=0.10.3;<2.0.0      :  1.0.2 (OK)
zmq >=17                      :  22.0.3 (OK)

# Optional:
cython >=0.21                 :  0.29.23 (OK)
matplotlib >=2.0.0            :  3.4.1 (OK)
numpy >=1.7                   :  1.20.2 (OK)
pandas >=1.1.1                :  1.2.4 (OK)
scipy >=0.17.0                :  1.6.2 (OK)
sympy >=0.7.3                 :  1.8 (OK)

Hey @LeSaucssiondelaPop, merci de le signaler. Ce problème est corrigé dans notre dernière version. Veuillez mettre à jour en téléchargeant une version plus récente de WinPython.
(Ce message a été auto-traduit de l'anglais au français)


text:
Feature: Support creating histograms and showing images for dataframes

Glad that on UI side, Spyder 5 came back to Spyder 3 functionalities.
(Spyder 4 was truly a regression..)
Still missing many good features of Spyder 3:
Histogram from Variable Explorer ( ie one can check easily things)
https://docs.spyder-ide.org/3/variableexplorer.html

Hi @pprokevin thank you for the feedback! I think the features mentioned are still available from the Variable Explorer context menu:

The only difference is that their order/placement on the context menu is different but from a quick local check seems like are working as expected 🤔. Checked locally using the latest Spyder 5 (version 5.4.3) and the following example code:
import numpy as np

a = np.random.randint(100, size =(50))
b = np.random.random((16, 16))

Are you having troubles using the context menu actions? What version of Spyder are you currently using?
Any other info to better understand the issue/feature request is greatly appreciated. Let us know!

Thank you for the extra info @pprokevin ! So basically the idea will be to extend the support of the Histogram and Show image actions to dataframes, right?

I created a prototype so that we can discuss what this should look like. Let me know what you think. If there are no reactions, I will turn the prototype into a PR.
I think it makes most sense to create a histogram from the columns of a dataframe. In the video, you can see that when I right-clicking on a cell of a dataframe in the Dataframe Editor and select the new "Histogram" item, Spyder shows a histogram of the column that the cell is in. If multiple cells are selected, the plot has multiple histograms.
I don't think that "show image" on a DataFrame is a common action, so I would propose not to implement this. If we do want to do this, we need to decide how images are normally stored in a data frame?

Some points from the weekly developer call a few days ago:

Wait for PR #20546 which adds a toolbar to the dataframe viewer and add a button there to make the functionality more discoverable
Maybe have a way to use the different pandas functions that make plots in a dropdown way
The plots are not run in the console so they are shown in separate window; see also the new issue #21145 which is about the same problem in the collection editor.

authors: dalthviz jitseniesen pprokevin


text:
ipython console does not connect to kernel

I installed a precompiled spyder2 (2.3.7) in my macosx 10.10.
I understand that spyder2 comes with its own ipython, python and numpy/scipy stack, but I just want to use my own python executable and numpy/scipy  along with many other python libraries that spyder does not include.
I compiled all python libraries (numpy scipy, matplotlib,  ipython, h5py  etc. ) from the source and from the preference menu on spyder, I have set the PYTHONPATH to point to my version of python libraries and in the advanced console, I have set my version of python executable.
However, ipython gets stuck and does not connect to the kernel.  Running ipython on the teminal works fine, so there is no problem with my installation of ipython, which I compiled from the source.
If I use ipython that came with spyder2, it works fine and connects to the kernel easily. However, if I switch to my ipython in spyder2, it cannot connect to the kernel.
I do not understand why it does that. Any help will be appreciated.

Adding things to PYTHONPATH is not the right way to accomplish what you want. Please see this answer I gave in StackOverflow:
http://stackoverflow.com/a/19813292/438386
to understand what you need to do.
In a few words: you need to change your Python interpreter to point to the one you have all the libraries you want to use. The details are in the answer :-)

Thanks for your quick reply.
I have obviously tried
Open Spyder and go to
Tools > Preferences > Console > Advanced settings > Python Executable
Select the option
Use the following Python interpreter
This does not seem to help.

Thanks for your reply.
I tried your suggestion, but I still cannot get ipython console connect to
the kernel.
I will appreciate any other suggestions.
Thanks.
Amirt
On Sat, Oct 10, 2015 at 11:24 PM, Carlos Cordoba notifications@github.com
wrote:

Adding things to PYTHONPATH is not the right way to accomplish what you
want. Please see this answer I gave in StackOverflow:
http://stackoverflow.com/a/19813292/438386
to understand what you need to do.
In a few words: you need to change your Python interpreter to point to the
one you have all the libraries you want to use. The details are in the
answer :-)
—
Reply to this email directly or view it on GitHub
https://github.com/spyder-ide/spyder/issues/2754#issuecomment-147152892.

Is it required to have ipythone qtconsole to get the ipython console connect with kernel in spyder?  I do not think I have ipython qtconsole installed.  I have ipythone 4.0 installed, but I do not see ipython qtconsole.

Yes, you need to run
pip install qtconsole

to have it in Homebrew.

I installed qtconsole from the source. However, I still get the same error:
Connecting to kernel...

I am getting this error in spyder. I do not get this error when I run ipython directly in the terminal.
853
854         # Set all default hooks, defined in the IPython.hooks module.
--> 855         hooks = IPython.core.hooks
hooks = undefined
global IPython.core.hooks = undefined
856         for hook_name in hooks.all:
857             # default hooks have priority 100, i.e. low; user hooks should have
AttributeError: 'module' object has no attribute 'core'

This seems an installation problem that doesn't have to do with Spyder. Please run
pip install -U qtconsole

and then
pip install -U jupyter

If that doesn't work, I don't know how else to help you.

Thanks.
First I installed jupyter and when I found out that ipython console was not connecting to the kernel in spyder, I then installed qtconsole.
I put everything in the same folder.
Does the ordering of the installation matter?
Please note that I am not using homebrew. I do regular installation using:
cd jupyter
python setup.py build
python setup.py install --prefix=/somefolder
And the same for qtconsole-4.0.0
I am pretty sure it is spyder related, because ipython works fine on the terminal.  ipython does not connect to the kernel only when I try to run inside spyder.

I do not understand this error in spyder. I am unable to use ipython in spyder. On the terminal, ipython runs fine, however.
AttributeError Traceback (most recent call last)
/Users/lib/python2.7/site‑packages/spyderlib/widgets/externalshell/start_ipython_kernel.py in ()
184 ipk_temp = IPKernelApp.instance()
185 ipk_temp.config = kernel_config()
‑‑> 186 ipk_temp.initialize()
global ipk_temp.initialize = >
187
188 # Grabbing the kernel's shell to share its namespace with our
/Users/lib/python2.7/site‑packages/ipykernel/kernelapp.pyc in initialize(self=, argv=None)
/Users/lib/python2.7/site‑packages/traitlets/config/application.pyc in catch_config_error(method=, app=, *args=(None,), **kwargs={})
73 """
74 try:
‑‑‑> 75 return method(app, *args, **kwargs)
method =
app =
args = (None,)
kwargs = {}
76 except (TraitError, ArgumentError) as e:
77 app.print_help()
/Users/lib/python2.7/site‑packages/ipykernel/kernelapp.pyc in initialize(self=, argv=None)
380 self.init_io()
381 self.init_signal()
‑‑> 382 self.init_kernel()
self.init_kernel = >
383 # shell init steps
384 self.init_path()
/Users//lib/python2.7/site‑packages/ipykernel/kernelapp.pyc in init_kernel(self=)
319 log=self.log,
320 profile_dir=self.profile_dir,
‑‑> 321 user_ns=self.user_ns,
global user_ns = undefined
self.user_ns = None
322 )
323 kernel.record_ports(self.ports)
/Users/lib/python2.7/site‑packages/traitlets/config/configurable.pyc in instance(cls=, *args=(), **kwargs={'iopub_socket': , 'log': , 'parent': , 'profile_dir': , 'session': , 'shell_streams': [, ], 'stdin_socket': , 'user_ns': None})
378 # Create and save the instance
379 if cls._instance is None:
‑‑> 380 inst = cls(*args, **kwargs)
inst = undefined
cls =
args = ()
kwargs = {'log': , 'parent': , 'shell_streams': [, ], 'user_ns': None, 'iopub_socket': , 'profile_dir': , 'session': , 'stdin_socket': }
381 # Now make sure that the instance will also be returned by
382 # parent classes' _instance attribute.
/Users/lib/python2.7/site‑packages/ipykernel/ipkernel.pyc in init(self=, **kwargs={'iopub_socket': , 'log': , 'parent': , 'profile_dir': , 'session': , 'shell_streams': [, ], 'stdin_socket': , 'user_ns': None})
45 user_module = self.user_module,
46 user_ns = self.user_ns,
‑‑‑> 47 kernel = self,
global kernel = undefined
self =
48 )
49 self.shell.displayhook.session = self.session
/Users/lib/python2.7/site‑packages/traitlets/config/configurable.pyc in instance(cls=, *args=(), **kwargs={'kernel': , 'parent': , 'profile_dir': , 'user_module': None, 'user_ns': None})
378 # Create and save the instance
379 if cls._instance is None:
‑‑> 380 inst = cls(*args, **kwargs)
inst = undefined
cls =
args = ()
kwargs = {'kernel': , 'user_ns': None, 'profile_dir': , 'parent': , 'user_module': None}
381 # Now make sure that the instance will also be returned by
382 # parent classes' _instance attribute.
/Users/lib/python2.7/site‑packages/IPython/core/interactiveshell.pyc in init(self=, ipython_dir=None, profile_dir=, user_module=None, user_ns=None, custom_exceptions=((), None), **kwargs={'kernel': , 'parent': })
516
517 self.init_syntax_highlighting()
‑‑> 518 self.init_hooks()
self.init_hooks = >
519 self.init_events()
520 self.init_pushd_popd_magic()
/Users/lib/python2.7/site‑packages/ipykernel/zmqshell.pyc in init_hooks(self=)
400
401 def init_hooks(self):
‑‑> 402 super(ZMQInteractiveShell, self).init_hooks()
global super = undefined
global ZMQInteractiveShell =
self.init_hooks = >
403 self.set_hook('show_in_pager', page.as_hook(payloadpage.page), 99)
404
/Users/lib/python2.7/site‑packages/IPython/core/interactiveshell.pyc in init_hooks(self=)
853
854 # Set all default hooks, defined in the IPython.hooks module.
‑‑> 855 hooks = IPython.core.hooks
hooks = undefined
global IPython.core.hooks = undefined
856 for hook_name in hooks.all:
857 # default hooks have priority 100, i.e. low; user hooks should have
AttributeError: 'module' object has no attribute 'core'

@amrit-poudel, you're not following my instructions correctly. I told you to run
pip install -U jupyter

and you ran
python setup.py build
python setup.py install --prefix=/somefolder

on the jupyter package.
Those two things are not equivalent because the last one doesn't pull the packages jupyter depends on, it just installs its contents and no more.
So please use the command I gave you and report back :-)

Could you please tell me exactly what other packages jupyter depends on?
I want to avoid using pip install and use python setup.py build and install (which is the standard way of building any python packages from source. Besides I do not have pip installed).
FYI, I have following packages already installed (I did not install them in that order, but I have them all installed and are in pythonpath):
decorator
gnureadline
ipykernel
ipython_genutils
jupyter-core
jupyter-client
pexpect
pickleshare
ptyprocess
pyzmq
qtconsole
requests
simplegeneric
testpaths
traitlets
zmq
What else do I need to install to make ipython console work on spyder?
Is pip install  the only way to install jupyter?

I'm afraid I'm going to close this issue. And please don't open new ones.
pip is used by the Python community at large to install packages. It's main advantage is that it pulls all dependencies a package depends on.
It's totally fine if you don't want to use it, but that's a non-standard installation procedure, so you're on your own to solve all problems that could appear in your way.
Please note that this situation doesn't represent a bug in Spyder, it's just a problem with the way you're trying to install its dependencies. So that's another reason for me to close this issue.

Could you at least tell me what are the dependencies for jupyter? Instead of randomly installing arbitrary package via pip, I was trying to understand more systematically, what was causing for ipython to break  in spyder.

@amrit-poudel, there is an extensive list of dependencies for jupyter, which is why they suggest pip or conda on their own installation page: http://jupyter.readthedocs.org/en/latest/install.html.

@blink1073
I believe I have all the dependencies installed (please see my list above) for ipython to work, which is why it works fine if i launch it from the terminal. However, it does not work, if I try to un ipython from spyder.

I'm sorry, but there are already too many configurations (operating systems, python versions), to also debug non-standard installs.  I agree with @ccordoba12.

That's okay. I will try to figure it out on my own. Thanks.

I have exactly the same problem (also a custom Python installation from source).
@amrit-poudel : Did you manage to resolve the issue?

@MarcusStein ,
There was not an easy solution to this problem.
First, I built ipython and all the dependencies listed on their website from the source. On the terminal, this installation of ipython worked fine with no error. However it would not run within the spyder IDE.
I think the ipython website does not really list all dependencies for ipython. It lists the most critical ones that allows you to build ipython from source and run it from the terminal without any issue. However, this bare bone built of ipython is not sufficient to work seamlessly within spyder IDE.
Having no idea what other dependencies could be, I decided to pip install ipython (not  qtconsole or jupyter or sypder as instructed above by some, but only ipython). The pip installation of ipython downloaded/installed whole bunch of new dependencies that were not included in my previous built of ipython from source.
After pip installing ipython only, I was able to run ipython from within the spyder, which was also built from source.
Long story short, try pip install ipython in a separate folder and compare  it with your ipython built from the source.  Hope this helps.

Hi @amrit-poudel , thanks for your suggestion. I'll monitor what PIP installs and hope to get this replicated from source...


text:
try

Description
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
File "C:\Anaconda\lib\site-packages\spyder\widgets\variableexplorer\dataframeeditor.py", line 277, in data
return to_qvariant(to_text_string(self.df_index[row]))
File "C:\Anaconda\lib\site-packages\spyder\py3compat.py", line 123, in to_text_string
return unicode(obj)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\spyder\widgets\variableexplorer\dataframeeditor.py", line 277, in data
return to_qvariant(to_text_string(self.df_index[row]))
File "C:\Anaconda\lib\site-packages\spyder\py3compat.py", line 123, in to_text_string
return unicode(obj)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
Version and main components

Spyder Version: 3.2.3
Python Version: 2.7.13
Qt Versions: 5.6.2, PyQt5 5.6 on Windows

Dependencies
pyflakes >=0.5.0  :  1.5.0 (OK)
pycodestyle >=2.3 :  2.3.1 (OK)
pygments >=2.0    :  2.2.0 (OK)
pandas >=0.13.1   :  0.20.3 (OK)
numpy >=1.7       :  1.13.1 (OK)
sphinx >=0.6.6    :  1.6.3 (OK)
rope

Thanks for reporting. It looks like you have one or more non-ASCII characters, perhaps in your data frame index, which Python 2 doesn't natively handle well without specific mitigations. Upgrading to Python 3 or using only ASCII characters in your df indices (probably a good practice anywhere for interoperability, since df indices should generally be kept "clean") would fix it, though it may be possible for Spyder to handle it in the next version.

Also, this is an explicit duplicate of #5833 , which confirms the above information, so this issue can be closed.

authors: CAM-Gerlach CAMGerlach-Baron aptlo10


text:
Spyder error scaled up to anaconda-navigator crash

SPYDER ERROR:
Description
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/spyder/plugins/init.py", line 511, in
toggled=lambda checked: self.toggle_view(checked),
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/spyder/plugins/ipythonconsole.py", line 709, in toggle_view
self.create_new_client(give_focus=False)
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/spyder/plugins/ipythonconsole.py", line 991, in create_new_client
self.connect_client_to_kernel(client)
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/spyder/plugins/ipythonconsole.py", line 1027, in connect_client_to_kernel
kc.start_channels(shell=True, iopub=True)
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/qtconsole/kernel_mixins.py", line 43, in start_channels
super(QtKernelClientMixin, self).start_channels(*args, **kw)
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/jupyter_client/threaded.py", line 209, in start_channels
self.shell_channel._inspect = self._check_kernel_info_reply
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/jupyter_client/client.py", line 143, in shell_channel
socket, self.session, self.ioloop
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/jupyter_client/threaded.py", line 202, in ioloop
self._ioloop = ioloop.IOLoop()
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/tornado/util.py", line 312, in new
instance.initialize(*args, **init_kwargs)
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/zmq/eventloop/ioloop.py", line 139, in initialize
super(ZMQIOLoop, self).initialize(impl=impl, **kwargs)
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/tornado/ioloop.py", line 844, in initialize
super(PollIOLoop, self).initialize(**kwargs)
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/tornado/ioloop.py", line 356, in initialize
self.make_current()
File "/home/administrador/anaconda3/envs/Python36/lib/python3.6/site-packages/tornado/ioloop.py", line 314, in make_current
assert asyncio is None
AssertionError
Version and main components

Spyder Version: 3.2.3
Python Version: 3.6.5
Qt Versions: 5.9.4, PyQt5 5.9.2 on Linux

Dependencies
pyflakes >=0.6.0 :  1.6.0 (OK)
pycodestyle >=2.3:  2.3.1 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.23.0 (OK)
numpy >=1.7      :  1.14.2 (OK)
sphinx >=0.6.6   :  1.6.3 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
jedi >=0.9.0     :  0.10.2 (OK)
psutil >=0.3     :  5.4.5 (OK)
nbconvert >=4.0  :  5.2.1 (OK)
sympy >=0.7.3    :  None (NOK)
cython >=0.21    :  None (NOK)
qtconsole >=4.2.0:  4.3.1 (OK)
IPython >=4.0    :  6.1.0 (OK)
pylint >=0.25    :  1.7.2 (OK)

ANACONDA-NAVIGATOR CRASH:
Navigator Error
An unexpected error occurred on Navigator start-up
Report
Please report this issue in the anaconda issue tracker
Main Error
'user_agent'
Traceback
Traceback (most recent call last):
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/exceptions.py", line 75, in exception_handler
return_value = func(*args, **kwargs)
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/app/start.py", line 138, in start_app
window = run_app(splash)
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/app/start.py", line 64, in run_app
window = MainWindow(splash=splash, tab_project=False)
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/widgets/main_window.py", line 163, in init
self.api = AnacondaAPI()
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/api/anaconda_api.py", line 2183, in AnacondaAPI
ANACONDA_API = _AnacondaAPI()
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/api/anaconda_api.py", line 89, in init
self._conda_api = CondaAPI()
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/api/conda_api.py", line 1714, in CondaAPI
CONDA_API = _CondaAPI()
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/api/conda_api.py", line 350, in init
self.set_conda_prefix(info=get_conda_info())
File "/home/administrador/anaconda3/lib/python3.6/site-packages/anaconda_navigator/api/conda_api.py", line 509, in set_conda_prefix
self._user_agent = info['user_agent']
KeyError: 'user_agent'

Closing as a duplicate of #7139. Please don't open more bugs about the same (we can't help you about the error in Navigator).


text:
Unable to open Spyder, KeyError: 'pyside'

Problem Description

What steps reproduce the problem?

Run spyder from Anaconda Prompt.

Paste Traceback/Error Below (if applicable)

C:\ProgramData\Anaconda3\lib\site-packages\qtpy\__init__.py:211: RuntimeWarning: Selected binding "pyqt5" could not be found, using "pyside"
  'using "{}"'.format(initial_api, API), RuntimeWarning)
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\Scripts\spyder-script.py", line 10, in <module>
    sys.exit(main())
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\start.py", line 190, in main
    from spyder.app import mainwindow
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 50, in <module>
    requirements.check_qt()
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\requirements.py", line 42, in check_qt
    package_name, required_ver = qt_infos[qtpy.API]
KeyError: 'pyside'

Versions

Spyder version: 3.3.1
Python version: 3.6.6
Qt version: 4.8.7
PyQt version: 5.9.2
Operating System name/version: Windows 10

Qt version: 4.8.7

We don't support Qt4 anymore. Please Qt5 instead.

have you solve the problem?


text:
problem

Description
What steps will reproduce the problem?

What is the expected output? What do you see instead?
Please provide any additional information below
File "F:\anaconda\envs\tensorflow36\lib\site-packages\spyder\plugins\ipythonconsole.py", line 890, in run_script
self.execute_code(line, current_client, clear_variables)
File "F:\anaconda\envs\tensorflow36\lib\site-packages\spyder\plugins\ipythonconsole.py", line 936, in execute_code
sw.execute(to_text_string(to_text_string(lines)))
File "F:\anaconda\envs\tensorflow36\lib\site-packages\qtconsole\history_console_widget.py", line 47, in execute
source, hidden, interactive)
File "F:\anaconda\envs\tensorflow36\lib\site-packages\qtconsole\console_widget.py", line 632, in execute
self._execute(source, hidden)
File "F:\anaconda\envs\tensorflow36\lib\site-packages\qtconsole\frontend_widget.py", line 294, in _execute
msg_id = self.kernel_client.execute(source, hidden)
AttributeError: 'NoneType' object has no attribute 'execute'
Version and main components

Spyder Version: 3.2.3
Python Version: 3.6.0
Qt Versions: 5.6.2, PyQt5 5.6 on Windows

Dependencies
pyflakes >=0.6.0 :  1.6.0 (OK)
pycodestyle >=2.3:  2.3.1 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.20.3 (OK)
numpy >=1.7      :  1.13.1 (OK)
sphinx >=0.6.6   :  1.6.3 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
jedi >=0.9.0     :  0.10.2 (OK)
nbconvert >=4.0  :  5.2.1 (OK)
sympy >=0.7.3    :  None (NOK)
cython >=0.21    :  None (NOK)
qtconsole >=4.2.0:  4.3.1 (OK)
IPython >=4.0    :  6.1.0 (OK)
pylint >=0.25    :  1.7.2 (OK)

This is fixed in our latest version (3.3.3). Please update by opening the Anaconda Prompt and running there
conda update spyder


text:
Save_as function on Widget module, over branch 3.x

Ok, All changes are finalized. @goanpeca

@malliwi88 to make sure we do it right, please erase your clone (of your fork, create new fork to make sure you have the right and clean one!) and start from scratch with
https://github.com/spyder-ide/spyder/wiki/Dev%3A-Github-Workflow#Developers
Then do a new branch from 3.x
git checkout 3.x
git checkout -b new-branch-name
Then do all the work with commits etc...
and then push
git push origin new-branch-name
Finally on the web interface of github make sure to create a pull request against 3.x
So that the PR looks like
malliwi88 wants to merge N commits into spyder-ide:3.x from malliwi88:new-branch-name


text:
🛑 Client Website - letthechildrensing.org is down

In 97e234c, Client Website - letthechildrensing.org (https://letthechildrensing.org) was down:

HTTP code: 404
Response time: 460 ms

Resolved: Client Website - letthechildrensing.org is back up in 1d873bd after 11 minutes.

repo: sqbxmediagroup/status