Carsten Allefeld allefeld City, University of London

Inspect Python objects and data as an expandable tree widget.

Permutation-based prevalence inference using the minimum statistic

Themed, fully featured PDF viewer for the Atom editor

Trying to justify my alpha

Dark-blue Candy Store syntax theme for Atom

Use Pandoc to create a PDF from an Atom editor pane, and view it in another pane.

Test data based on Cichy et al. (2011)

MVPA by cross-validated MANOVA

Global descriptors of brain electrical activity

Submit Matlab jobs to HTCondor from Matlab

issue commentmicrosoft/vscode

I wouldn't even mind if I had to manually copy the necessary libraries into some directory.

allefeld

comment created time in 10 days

issue commentallefeld/atom-pdfjs-viewer

jano23

comment created time in 15 days

push eventallefeld/atom-pdfjs-viewer

Prepare v0.9.0 release

commit sha 9b9f85c1bd820730a7fb24b971afef596837e779

Prepare v1.0.0 release

push time in 15 days

created tagallefeld/atom-pdfjs-viewer

Themed, fully featured PDF viewer for the Atom editor

created time in 15 days

push eventallefeld/atom-pdfjs-viewer

commit sha 7ec746b4d9df889e1732c411ec141185a7904165

ensure containing directory does exist, fixes #2

push time in 15 days

issue closedallefeld/atom-pdfjs-viewer

when the containing directory did not exist

closed time in 15 days

allefeld

push eventallefeld/atom-pdfjs-viewer

commit sha 8d14ccb0b27a2b182a7f88e2e178874e9c5a2bb6

ensure containing directory does exist, fixes #2

push time in 15 days

issue commentatom/apm

Alright, Atom seems to be really abandoned by its developers. Or maybe there are no developers anymore?

Anyway, to whom it may concern, I finally figured it out. Apparently apm password storage uses gnome-keyring. If you are in the same position as me, you never used gnome-keyring for anything else – i.e. nothing of value is stored there – then you can fix this problem this way:

• Install seahorse, the GUI administration application of gnome-keyring.

• Start seahorse. In the menu, it should appear as "Passwords and Keys".

• Under "Passwords", select "Default", right-click, "Delete".

• Click the "+" button, select "Password Keyring", and give it the name "Default". You will be prompted to select a password for this keyring.

allefeld

comment created time in 17 days

push eventallefeld/pytikz

commit sha f961107c5ea1c486177b709e8ae0388c4b0627c1

refactorization: separate between private and public interface to code & pdf generation

updated documentation

push time in 22 days

push eventallefeld/pytikz

commit sha 8329102a70f3b9021cffbf4e1f46cfab5657b312

implemented transformation of numerical coordinates within an Axis

commit sha fbb66fa4bd4be91dae0b88921a42f2cd346604b1

commit sha 0a23bf70940bffddac0194964ae344100511e328

miscellaneous fixes

push time in 22 days

push eventallefeld/pytikz

fixed logo

push time in 24 days

push eventallefeld/pytikz

fixed logo

push time in 24 days

push eventallefeld/pytikz

commit sha 6ef7a176676de36d127ef7913d031994fd52ce43

refactored display logic to support plot viewer

commit sha 0d284878eff6e7e67c3af97ecfe1ae6d83db5326

notebook to extract font metrics for extended_wilkinson

commit sha 1bd66651503ba4c43c2101db461cc48cef87275a

updated TODO

commit sha a6620807f163197f8c494427c3489c9e907e43e0

many scattered small changes

push time in 24 days

issue commentmicrosoft/vscode-python

Thanks!

take a peek at the component that we are using for our rendering in the plot viewer

Doesn't the chromium base contain SVG rendering? At least this detail (rounded corner) appears correctly in Chrome.

allefeld

comment created time in 24 days

issue commentmicrosoft/vscode-python

Alright, I figured it out. Apparently the "Expand image" function is activated if an object has an _repr_mimebundle_ method which returns both a PNG and an SVG image. That is strange, since an SVG works perfectly fine for both display in the notebook and the plot viewer.

However, I found that the SVG display in the plot viewer does not appear to be entirely accurate. A detail of the same SVG, viewed in Inkscape vs VS Code:

As you can see, the rounded corner appears jagged in VS Code's plot viewer.

allefeld

comment created time in 24 days

issue openedmicrosoft/vscode-python

# Feature: Notebook Editor, Interactive Window, Python Editor cells

## Description

I'm not sure whether this is just a question, or a feature request.

I have Python code that generates custom plots in SVG format and displays them in the notebook output cell (_repr_svg_ / IPython.display). I would like to display these SVGs in such a way that they can be "expanded", i.e. there is the "Expand image" icon on hover, and when clicked the SVG is shown in the plot viewer ("Plots" tab).

As a question: The vscode-python documentation mentions that this feature works with matplotlib and Altair. Is there something I can do make it work with my plots, I assume via a JavaScript API?

As a feature: I propose that every SVG output cell can be "expanded".

Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer, @joyceerhl

created time in 24 days

issue closedjtalbot/Labeling

I'm trying to implement your complete 2010 algorithm in Python (there is an implementation, but it does not include legibility).

Reading the paper, there are two points I'm stuck on:

1. What are the exact rules for number formatting according to the different formats in Table 3?

2. What is the recommended value for the target density rho_t? The paper only mentions that it should be adapted for different displays.

Regarding the first point, I looked at your implementations in R (which doesn't include legibility either) and in C# here. I suppose that the relevant code is in Format.cs, but my (nonexistent) understanding of C# didn't allow me to distinguish the 8 different format types in the code, let alone reproduce them. Would it be possible to provide an explanation in natural language, or in terms of traditional C format specifiers?

closed time in 24 days

allefeld

issue commentjtalbot/Labeling

I finished my implementation. In case you are interested, it is documented here.

I allowed myself a few limitations, in particular I only implemented the 'Decimal' and 'Factored scientific' formats; I don't think a common factor should be in the labels, and I don't really like '(thousands)', '(K)', and '(M)'. It shouldn't be hard to add these formats though. As far as I know, apart from your C# code this is still the most comprehensive implementation.

Again, thanks a lot for your help! It is uncommon that an author provides such quick and comprehensive information.

allefeld

comment created time in 24 days

issue commentjtalbot/Labeling

I think that holds true if the tick marks are inside the data range, as well as outside.

I agree, and I implemented it now this way; it seems to work well.

allefeld

comment created time in 24 days

push eventallefeld/pytikz

updated documentation

push time in 24 days

push eventallefeld/pytikz

commit sha 1fbbd73c5b6a4a79f5901f095594f639719e87b6

documented code, refactored Ticks

push time in 24 days

push eventallefeld/pytikz

added fira and show methods to Picture; misc changes

push time in 25 days

push eventallefeld/pytikz

commit sha 51dbd69aef07a5a4835f646f63121e1e2f8f76d8

implemented legibility

commit sha 15d2c276087abb125ae49782f9f85c999e2f8e38

removed normalize parameter

push time in 25 days

push eventallefeld/pytikz

commit sha 86a8c0f9d7ca47eebc4b9b2ef350fcd128ec5849

updated docs

push time in a month

push eventallefeld/pytikz

renamed module labeler to extended_wilkinson and refactored it

push time in a month

push eventallefeld/pytikz

commit sha c46cf765bf9259b4cccdb88e5f2b9c6b97c44bee

made normalization of tick values (removal of trailing 0s) optional

push time in a month

push eventallefeld/pytikz

commit sha 2c93311983316c0a00764b5ce9869bf7f7a54346

removed unnecessary branching from _coverage_max

commit sha 4051b072bef0e7afa7ed66e7810f79028c51ec30

made normalization of tick values (removal of trailing 0s) optional

push time in a month

push eventallefeld/pytikz

commit sha 4b25192bf8f25ca94a89ccc6e9117908a822ac94

class TikZ for representing and formatting tick values

commit sha 081ca19325ceaa84efbfb24a29321333fe197c3f

revised score functions

commit sha 993347773492ec077af9d1385b6f899af8f0a688

commit sha d56859b5e92324ae528c1dc517cc3aa1a3bebffd

commit sha 73bc2c568534b3b43e6fe3646a42163991f013c4

change from target number of ticks to target density + axis length

push time in a month

issue commentjtalbot/Labeling

I think I figured the last one out. Using

r <- (k-1) / (length * (lmax-lmin)) * (max(lmax,dmax)-min(dmin,lmin))


compared to a specified rt is actually equivalent to your implementation if

m <- rt * length + 1


except m is no longer constrained to be an integer.

allefeld

comment created time in a month

issue commentjtalbot/Labeling

And another question, regarding density: I'm not clear why the denominator is different in the formulas for r and rt.

.density <- function(k, m, dmin, dmax, lmin, lmax)
{
r <- (k-1) / (lmax-lmin)
rt <- (m-1) / (max(lmax,dmax)-min(dmin,lmin))
2 - max( r/rt, rt/r )
}


The second seems to take into account the possibility that the labels are not loose, i.e. the displayed range goes from dmin to dmax if it is larger than the one from lmin to lmax. But if the user specifies m, they will probably do so on the basis of dmin to dmax, so to me it seems that the second formula should simply be rt <- (m-1) / (dmax-dmin).

I tend towards the idea to replace m by a directly specified rt anyway, which would then be in ticks / inch. In that case r would have to be computed with the same dimension. Assuming that numerically the axis goes from min(dmin,lmin) to max(lmax,dmax) and has a physical length length in inches, the range spanned by the ticks would be

length * (lmax-lmin) / (max(lmax,dmax)-min(dmin,lmin))


and the actual density should therefore be computed as

r <- (k-1) / (length * (lmax-lmin)) * (max(lmax,dmax)-min(dmin,lmin))


– is that correct?

allefeld

comment created time in a month

issue commentjtalbot/Labeling

Another question: To me there seems to be an inconsistency between coverage and coverage.max in the R code.

If span > range, then coverage.max does not return the actual maximal value of coverage, which is always 1 - 0.5 * (half^2 + half^2) / ((0.1 * range)^2), but 1. Now this could be explained by saying that in that case, coverage is perfect. However, the same would hold for the coverage function itself. In any case, coverage.max does not seem to provide the exact pruning of a search branch w.r.t. coverage.

.coverage <- function(dmin, dmax, lmin, lmax)
{
range <- dmax-dmin
1 - 0.5 * ((dmax-lmax)^2+(dmin-lmin)^2) / ((0.1*range)^2)
}

.coverage.max <- function(dmin, dmax, span)
{
range <- dmax-dmin
if(span > range)
{
half <- (span-range)/2
1 - 0.5 * (half^2 + half^2) / ((0.1 * range)^2)
}
else
{
1
}
}

allefeld

comment created time in a month

issue commentjtalbot/Labeling

Thanks, that's exactly the detail I was hoping for! And sorry for the double message; I suspected you didn't read messages here anymore.

The recommendation to use a decimal data type was spot on. I don't use it for the algorithm itself, but I compute the final tick values from the integer indices and exact q-values as Python Decimals, and generating "Decimal" format labels from those is straightforward.

The target environment for rendering is LaTeX/TikZ, and getting the size of labels out of LaTeX is possible, but quite complicated. I think I will fix the font and then extract metrics for those characters that can appear in labels, so I can compute label extents myself.

I'll proceed implementing the formats; it's possible I'll get back to you with more questions.

allefeld

comment created time in a month

push eventallefeld/pytikz

commit sha 26f07863a24da8f92fb047411d887aa78db3975b

Extended Wilkinson labeler, pure translation of R code

score function

commit sha 862f2ab5bebf9c58e4f4319e872d382d68e74140

avoided break out of two nested loops using generator

prettification

exact tick values, "Decimal" format labels

push time in a month

@mdhaber, well I certainly got a lot of information. But I asked 8 questions with a hint there might be more to follow, and only some of them have been discussed.

More importantly, I still think one shouldn't have to go through source code or issues in order to find out these details. There should be a page in the documentation that includes all the necessary information needed for a user to define a new distributions for their own use, so that the respective object can be used in place of a scipy.stats´ distribution.

And there could also be a second page that explains how to construct it such that it can be contributed to the package itself (developer's guide).

allefeld

comment created time in a month

issue commentmicrosoft/vscode-python

I misunderstood this at first, so to make it clear: For some reason removing the keybindings still leaves them functional, it only avoids the bug.

Same here.

Python extension version: v2020.6.91350

Version: 1.47.1 Commit: 485c41f9460bdb830c4da12c102daff275415b53 Date: 2020-07-14T00:13:57.513Z Electron: 7.3.2 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Linux x64 4.19.0-9-amd64

ddouglas87

comment created time in a month

issue openedjtalbot/Labeling

I'm trying to implement your complete 2010 algorithm in Python (there is an implementation, but it does not include legibility).

Reading the paper, there are two points I'm stuck on:

1. What are the exact rules for number formatting according to the different formats in Table 3?

2. What is the recommended value for the target density rho_t? The paper only mentions that it should be adapted for different displays.

Regarding the first point, I looked at your implementations in R (which doesn't include legibility either) and in C# here. I suppose that the relevant code is in Format.cs, but my (nonexistent) understanding of C# didn't allow me to distinguish the 8 different format types in the code, let alone reproduce them. Would it be possible to provide an explanation in natural language, or in terms of traditional C format specifiers?

created time in a month

issue commentmicrosoft/vscode-python

@tbenst, I'm not a developer, just a user like you.

dimitry-ishenko

comment created time in a month

issue commentmicrosoft/vscode-python

Great, thanks!

dimitry-ishenko

comment created time in a month

issue commentmicrosoft/vscode-python

@rchiodo, I think that's ~/config/Code/User/globalStorage/ms-python.python on Linux, thanks. Unfortunately there was nothing there.

Will this problem be solved with the undergoing redesign of custom editors in VS Code? At least a warning about unsaved changes would be extremely useful.

dimitry-ishenko

comment created time in a month

issue commentvscode-restructuredtext/vscode-restructuredtext

Thanks!

allefeld

comment created time in a month

issue commentmicrosoft/vscode-python

Unfortunately, this still seems to happen.

I had a notebook with unsaved changes and exited vscode. There was no warning whether I would want to save the changes.

When I restarted vscode with the same workspace, the notebook was not automatically opened. I opened it manually, which must have triggered "reactivation", because then a second copy of the notebook was opened. Maybe that automatically opened second copy contained my unsaved changes – I don't know, because I clicked it away since it seemed redundant.

I cannot find any trace of my unsaved changes in either of .vscode, ~/.vscode , or ~/config/Code. Is there another place I can look for them?

dimitry-ishenko

comment created time in a month

push eventallefeld/pytikz

commit sha f892c3af31a901da4dc530830250dd2d2a1db049

extended TODO

push time in a month

push eventallefeld/pytikz

commit sha b733cdb5b571cb79a6921320186bf705e6394a77

push time in a month

push eventallefeld/pytikz

commit sha 8bd5fc79c2952c11a39fb479dfec82628bccb1ef

corrected rectangle, doesn't take options

push time in a month

push eventallefeld/pytikz

commit sha ee87c5caf0e72e0e5af4ef0abdf08a5a482cb47e

created TODO

push time in a month

push eventallefeld/pytikz

commit sha 57ba64a17652e1a4fea40016d3e196814b4c2e27

logo for documentation, link to repository

push time in a month

push eventallefeld/pytikz

commit sha ac755ce03984f4649bfdd390e87ffa77d9e5b8ef

removed Sphinx docsource

push time in a month

issue commentpdoc3/pdoc

Yes, I had looked at the code, and at the moment do it the same way for my project tikz.

I meant the homepage, and had assumed it was generated from a template as well. Right now I there is a disconnect where the package description is essentially the repository README, as opposed to the pdoc-generated module description: https://github.com/allefeld/pytikz vs https://allefeld.github.io/pytikz/tikz/.

Yes, what I thought about doing is similar to what #101 describes. However, the package page layout would be similar to the module pages, with a sidebar on the left listing the local TOC and the modules, and the content on the right coming from an extra md file.

I did first steps taking that on, but what I couldn't figure out is how to convert that extra md file to HTML using pdocs API (which would allow automatic links to modules/classes/etc.). As far as I can see, the Markdown-processing parts of pdoc are strongly tied to processing modules. That's what I would appreciate pointers on.

allefeld

comment created time in a month

push eventallefeld/pytikz

commit sha 5ae2623f124110ca7b80e4cd5402cd2ef16f04a5

restructure documentation

push time in a month

push eventallefeld/pytikz

commit sha fc6ae464ab6ef7ce0312a79ac9725179de315baf

renamed LatexException to LatexError

push time in a month

issue commentpdoc3/pdoc

Or, would you be willing to share how you created pdoc3.github.io using pdoc?

allefeld

comment created time in a month

push eventallefeld/pytikz

commit sha 2691e3221d0d1270704d265d505ea7e47518c0b8

renamed LatexException to LatexError

push time in a month

push eventallefeld/pytikz

commit sha 59f560bfc971443ac6f4a77a845476ee099c189c

renamed LatexException to LatexError

push time in a month

push eventallefeld/pytikz

commit sha 0c301bf050711933af2379d27d3c5cc2652f562e

renamed LatexException to LatexError

push time in a month

push eventallefeld/pytikz

commit sha a0e1546ac919bba68754302c38f0a24cdd2da4a5

fixed docs

push time in a month

push eventallefeld/pytikz

rebuilt docs

push time in a month

push eventallefeld/pytikz

commit sha 325b351919bd162327da3588305b3fd33f8e1451

smaller font for demo

push time in a month

push eventallefeld/pytikz

commit sha 0b143a185756f7d592f1a180e829fc0349d98295

commit sha 7469a69722ec2dea413c32e282de0706f21a11da

revised demo

push time in a month

push eventallefeld/pytikz

commit sha 8eb403fbd8b5ea13e95bdb3a88aef070a2c74ab1

replaced Sphinx by pdoc documentation

push time in a month

push eventallefeld/pytikz

commit sha 36c0d064058b6bc94cba935bbec146f45dcdecbc

replaced Sphinx by pdoc documentation

push time in a month

issue commentvscode-restructuredtext/vscode-restructuredtext

I assumed it would write files. If that is not the case, no problem.

allefeld

comment created time in a month

issue openedpdoc3/pdoc

A similar problem to #134 occurs after backticks have been used within a link text.

Code:

Picture object: A
[tikzpicture environment](https://pgf-tikz.github.io/pgf/pgfmanual.pdf#subsubsection.12.2.1)
is represented by a Picture object.


Result:

The Picture before the explicit link is automatically linked to the description of that class, but after the backticks in the text of the explicit link, it just becomes a normal code span. This effect persists until the end of the respective docstring, across paragraph boundaries.

I suspect regular expressions are not sufficient to parse Markdown syntax.

A workaround is to use html <code> tags in the link text:

Picture object: A
[<code>tikzpicture</code> environment](https://pgf-tikz.github.io/pgf/pgfmanual.pdf#subsubsection.12.2.1)
is represented by a Picture object.


created time in a month

push eventallefeld/pytikz

commit sha 8a64a7927ce129fb65a6af5ef7bc347f0ee591b4

completed docstrings for pdoc

push time in a month

push eventallefeld/pytikz

commit sha 3a714c39b232a5614712efc45eb04e745861f820

completed docstrings for pdoc

push time in a month

push eventallefeld/pytikz

commit sha 54d81644a30719cfea91dc3a2ef295c9d54e75f2

experiments with pdoc instead of Sphinx

push time in a month

push eventallefeld/pytikz

experiments with pdoc instead of Sphinx

push time in a month

issue commentpdoc3/pdoc

The same problem occurs after backticks have been used within a link text.

Code:

Picture object: A
[tikzpicture environment](https://pgf-tikz.github.io/pgf/pgfmanual.pdf#subsubsection.12.2.1)
is represented by a Picture object.


Result:

The Picture before the explicit link is automatically linked to the description of that class, but after the backticks in the text of the explicit link, it just becomes a normal code span. This effect persists until the end of the respective docstring, across paragraph boundaries.

I suspect regular expressions are not sufficient to parse Markdown syntax.

huettenhain

comment created time in a month

issue openedpdoc3/pdoc

In addition to the module-documentation pages generated by the pdoc command-line utility, I would like to create an introduction page for the distribution package as a whole (as opposed to the import packages / modules), which describes the different modules in context.

pdoc has no option to do, and I've seen the issues where corresponding requests have been denied by the author. I therefore intend to do so myself, using the programmatic API of the pdoc module. Unfortunately, I cannot quite figure out how to do it.

The idea would be to

• have a Markdown text for the page, e.g. read from a file
• create an HTML document in the same style as the pdoc-generated pages, i.e. optimally using the same templates.

It would be great if you could give me some pointers!

created time in a month

issue openedvscode-restructuredtext/vscode-restructuredtext

I use the extension not for the preview or HTML generation features, but solely for the editor language support.

Whenever I switch to a tab containing an .rst file, the question "Select how to generate html from rest files" pops up. The answer is, I don't, but there is no such option. I also haven't found anything in the extension settings to get rid of this question.

Is there a way to disable "Select how to generate html from rest files"? If not, would it be possible to add this?

I am actually using Sphinx, but with a slightly nonstandard configuration, so I fear that if I select a 'Sphinx' though I don't want to use it from the extension, it might mess with my setup.

Environment

• [ ] Extension version: 128.0.0
• [ ] Visual Studio Code version: 1.46.1
• [ ] Operating System version: Debian 10.4

created time in a month

issue commentjupyter/nbviewer

me too

comment created time in a month

push eventallefeld/pytikz

commit sha 78f50ebe4c82303783504469acefffc0bd316d85

extended and restructured documentation, with a lot of side effects

push time in a month

push eventallefeld/pytikz

commit sha 6ded93c0b7dda37b76eea21fd1735a7acd2727f4

extended and restructured documentation, with a lot of side effects

push time in a month

push eventallefeld/pytikz

commit sha b0584f981b0e1718645b82432fbd7787722cc43e

extended and restructured documentation, with a lot of side effects

push time in a month

push eventallefeld/pytikz

commit sha 7883ac86799124043163971daf52d956fe998635

push time in a month

push eventallefeld/pytikz

push time in a month

push eventallefeld/pytikz

commit sha c7be2af94ec5efc8f96db01a19001036193461c9

push time in a month

push eventallefeld/pytikz

commit sha 379b4dd31707106e8e52e2810a223514482916d2

push time in a month

push eventallefeld/pytikz

commit sha f05478964095ecc3b1f7b58411cf3c7e2db8225b

push time in a month

push eventallefeld/pytikz

created setup.py; as module so that information can be used in conf.py

push time in a month

PublicEvent

issue closedmicrosoft/vscode

<!-- ⚠️⚠️ Do Not Delete This! feature_request_template ⚠️⚠️ -->

The list of git commits ('timeline') is shown in the 'Explorer' sidebar panel,but not in the 'Source Control' sidebar panel:

Explorer:

Source Control:

While having it in the Explorer can be useful, it is logically expected in Source Control.

I suggest that you either move the timeline from Explorer to Source Control, or add an additional timeline to Source Control.

closed time in a month

allefeld

issue commentmicrosoft/vscode

@ArturoDent Interesting, I didn't know something like that was possible. Thanks!

allefeld

comment created time in a month

issue openedmicrosoft/vscode-python

# Feature: Notebook Editor, Interactive Window, Python Editor cells

## Description

The notebook provides an option 'Convert and save to a Python script', which creates a representation of the notebook as a standard .py script using the 'percent format'. This does not only provide yet another way to interactively work with Python and rich output – the format is also a solution to the long-standing problem that the JSON-format of .ipynb files including embedded binary data (graphics) does not play well with source control systems.

Personally I prefer to work with the standard notebook editor interface, but because of the latter problem with source control I like to have a percent-formatted version in parallel.

My feature request: Have an option, either global, per-workspace, or per-notebook, that whenever an .ipynb file is saved, a percent-formatted version of it is created/updated in the background, too. This way the notebook proper can be used for interactive work, but the commits on the percent-formatted version can serve as a readable record of what was done, so if it is necessary to revert changes, it is clear which commit is the right one.

Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer, @joyceerhl

created time in a month

issue openedmicrosoft/vscode

<!-- ⚠️⚠️ Do Not Delete This! feature_request_template ⚠️⚠️ -->

The list of git commits ('timeline') is shown in the 'Explorer' sidebar panel,but not in the 'Source Control' sidebar panel:

Explorer:

Source Control:

While having it in the Explorer can be useful, it is logically expected in Source Control.

I suggest that you either move the timeline from Explorer to Source Control, or add an additional timeline to Source Control.

created time in a month

issue commentatom/apm

Judging by this similar issue on an unrelated repository, this might be due to relying on the libsecret library.

allefeld

comment created time in a month

issue openedmicrosoft/vscode-python

# Bug: Notebook Editor, Interactive Window, Editor cells

The text of error messages, i.e. messages attached to raised Exception and Error objects, is not HTML-encoded, potentially disrupting display.

## Steps to cause the bug to occur

Raise an exception or error whose message contains < followed by a character in a notebook cell.

Examples:

raise TypeError("array(['1', '2.0', 'a'], dtype='<U32'")
raise TypeError("a<b")
raise TypeError("a<10")
raise TypeError("This is <i>very</i> important!")


## Actual behavior

In the first and second case, the error message is truncated in display. In the fourth case, the word 'very' is shown in italics.

This last case might be seen to be useful, but the truncating of error messages in other cases is too high a price. Python error messages are not intended to be interpreted as HTML code.

## Expected behavior

The error messages should appear verbatim, without interpretation as HTML.

### Your Jupyter and/or Python environment

• Jupyter server running: Local
• Extension version: 2020.6.91350
• VS Code version: 1.46.1
• OS: Linux Debian
• Virtual environment: conda

## Developer Tools Console Output

No relevant output.

Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer, @joyceerhl

created time in a month

issue commentGruntfuggly/todo-tree

It's more complicated than that. Yes, on the face of it, a Jupyter notebook is just a JSON text file. However, if opened with a suitable program, which VS Code becomes by installing the Python extension, this data structure is interpreted as a sequence of input and output 'cells', where input cells can be either of type 'Markdown' or 'code'. "Working properly" would mean that only input code cells are searched. Also, you would have to find a way to make the notebook editor to open at the right line inside of the right input cell, which is currently not the case.

allefeld

comment created time in a month

issue closedGruntfuggly/todo-tree

I have a Jupyter notebook, where apparently a Base64-encoded PNG image contains the sequence "XXX" somewhere in the data stream. This is picked up by the extension and displayed as an XXX item:

Here is part of the code in the file, the "XXX" appears towards the end of the last line:

  {
"cell_type": "code",
"execution_count": 13,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.HTML object>",


The full file is available here: https://raw.githubusercontent.com/allefeld/pytikz/master/tikz.ipynb

closed time in a month

allefeld

issue commentGruntfuggly/todo-tree

So the change is from \s* to \s+ – at least one whitespace character?

Seems to work, great!

You could still consider making the extension work properly with notebook files, as outlined above, but for now I'm closing this issue. Thanks!

allefeld

comment created time in a month

issue commentGruntfuggly/todo-tree

Ah, it only picks it up because of the preceding //?

I would like to find TODOs in notebooks, but only where it is in comments in input code cells. But I guess making the extension work that way would be a lot of effort?

Which setting do I have to change and how in order to make the whitespace mandatory?

allefeld

comment created time in a month

issue openedGruntfuggly/todo-tree

I have a Jupyter notebook, where apparently a Base64-encoded PNG image contains the sequence "XXX" somewhere in the data stream. This is picked up by the extension and displayed as an XXX item:

Here is part of the code in the file, the "XXX" appears towards the end of the last line:

  {
"cell_type": "code",
"execution_count": 13,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.HTML object>",


created time in a month

issue commentpymupdf/PyMuPDF

allefeld

comment created time in 2 months

issue commentpymupdf/PyMuPDF

I hate bugzilla, why can't they host on github like everybody else?! ;)

allefeld

comment created time in 2 months

issue commentpymupdf/PyMuPDF

Thanks for the explanation – I had feared this is a shortcoming of MuPDF. I'll create an issue there.

Regarding integrating PIL/Pillow, it sure would be convenient, but actually I agree that PyMuPDF should remain a wrapper of MuPDF and not pull in any other dependencies.

Excellent work btw.!

allefeld

comment created time in 2 months

issue openedpymupdf/PyMuPDF

Please provide a way to write the resolution of a Pixmap object to image files created from it.

Pixmap has a method setResolution, albeit with the comment

This is just documentary information. In MuPDF, this will not have other implications and will not be written to images created from the pixmap.

I request to change this behavior, so that the resolution is written to image files (which support it). As far as I can tell, this mainly applies to PNG files, i.e. writeImage(filename, output='png'), and writePNG.

This should also hold for data that is not written to a file, i.e. getImageData('png') and getPNGData.

This is important because generated images may be automatically included in documents, e.g. via LaTeX, and this way the display size of the image can be controlled programmatically.

created time in 2 months

issue commentpymupdf/PyMuPDF

@JorjMcKie great, thanks!

james-roden

comment created time in 2 months

issue commentpymupdf/PyMuPDF

This should be made explicit in the documentation of Page.getPixmap, it is not at all clear.

james-roden

comment created time in 2 months

issue openedmicrosoft/vscode-python

I'm trying to include a LaTeX code snippet in a Markdown cell in a notebook, using a fenced code block:

While editing, it looks like this:

Rendered it looks like this:

As you can see, the code is rendered as code, but also there are s inserted before and after the document environment.

I believe this is due to MathJax, which detects a possible math environment and marks it explicitly as such.

The same happens if I use an indented code block, or an explicit HTML <code> tag.

I propose that MathJax in the extension is configured to ignore code snippets, probably using the skipHtmlTags configuration option

created time in 2 months

issue commentallefeld/ipyinspector

Yes, ipyinspector only uses ipytree, it doesn't create a new widget.

Kreijstal

comment created time in 2 months

issue openedmicrosoft/vscode

The Python extension for Visual Studio Code has made VS Code one of the best Python editors out there. This is especially facilitated by its support for Jupyter notebooks. Notebooks are tools that allow interactive data analysis and visualization, and are popular among engineers, scientists, and people working on corporate data analysis, probably among others. One important feature of notebooks is that it allows to show data directly in the notebook interface, in the form of plots (vector graphics), bitmap images, video and audio. The latter two are obviously important for people who work in video / audio processing and generation, e.g. computer vision and language recognition.

However, audio/video display does not work in notebooks in VS Code. This was filed as an issue https://github.com/microsoft/vscode/issues/80196 on VS Code itself, where it was classified as caused-by-extension`, i.e. the Python extension.

It was also filed as issues https://github.com/microsoft/vscode-python/issues/3456 and https://github.com/microsoft/vscode-python/issues/3405 on the Python extension, where however it was determined that it is not caused by the extension, but is due to the fact that audio and video are not supported by webviews in VS Code.

Well, there is an issue https://github.com/microsoft/vscode/issues/54097 regarding that on VS Code, which was closed with the lakonic statement

We don't ship ffmpeg in our electron build. Many audio and video formats are therefore not supported inside webviews. No plans to change this

I feel that wires have been crossed here due to the issues being spread over VS Code vs the Python extension. Regarding VS Code, it is understandable that audio/video support does not appear to be relevant for a code editor. It is however relevant for the Python extension, because it sets the notebook provided by the extension back relative to "native" Jupyter notebooks.

Long story short: I think it is in the best interest of VS Code as a multi-language editor to enable feature complete development environments for all languages, and to enable that for Python would mean to support audio/video, which means VS Code needs to be shipped with ffmpeg.

Please reconsider the decision on https://github.com/microsoft/vscode/issues/54097. (I would have commented on that issue, but it is locked.)

created time in 2 months

more