I have always saved my figures generated in matplotlib as .png, .pdf and .tikz, which can easily be included in the document with \includegraphics.
matplotlib also has the option to generate lower level .pgf code. It would be neat to also be able to input the .pgf code files using \includegraphics. The file seems to be read, but the output is clipped.
Notice that the enviroment in img.pgf is tikzpicture. I changed the enviroment generated by matplotlib from pgfpicture to tikzpicture. Using the original pgfpicture makes tikzscale throw the error "Requested to scale unscaleable graphic"
Edit: Sorry for the poorly phrased question. MWE below, and rephrased above.
main.tex
\documentclass{article}
\usepackage{graphicx} %
\usepackage{tikzscale} %Allows \includegraphics to parse .tikz files and scales according to width
\usepackage{pgf}
\usepackage{tikz}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{subfigure}[t]{0.3\textwidth}
\includegraphics[width=\linewidth]{./img.tikz}
\caption{Tikz figure read by includegraphics and scaled to linewidth by tikzscale}
\end{subfigure}
\hfill
\begin{subfigure}[t]{0.3\textwidth}
\resizebox{\linewidth}{!}{\input{./img.pgf}} %This works
\caption{PGF figure read by input and scaled to linewidth by resizebox}
\end{subfigure}
\hfill
\begin{subfigure}[t]{0.3\textwidth}
\includegraphics[width=\linewidth]{./img.pgf} %But I want this
\caption{PGF figure read by includegraphics and scaled to linewidth by tikzscale}
\end{subfigure}
\end{figure}
\end{document}
img.pgf
\pgfdeclareradialshading{new}{\pgfqpoint{0bp}{0bp}}{%
color(0bp)=(blue);
color(6bp)=(blue!90!black);
color(20bp)=(black!75!blue);
color(30bp)=(black!85!blue)}
\begin{tikzpicture}
\begin{pgfscope}
\pgfpathcircle{\pgfpoint{3cm}{0cm}}{1cm}
\pgfusepath{clip}
\begin{pgflowlevelscope}{\pgftransformshift{\pgfpoint{3cm}{0cm}}, \pgftransformrotate{45}}
\pgfpathellipse{\pgfpoint{0cm}{0.5cm}}
{\pgfpoint{1.75cm}{0cm}}
{\pgfpoint{0cm}{1.55cm}}
\pgfshadepath{new}{0}
\pgfusepath{}
\end{pgflowlevelscope}
\end{pgfscope}
{
\pgftransformshift{\pgfpoint{3cm}{0cm}}
\pgfset{minimum size=2cm}
\pgfnode{circle}{center}{pgf}{nodename}{
\pgfusepath{}}
}
\end{tikzpicture}
img.tikz
\pgfdeclareradialshading{new}{\pgfqpoint{0bp}{0bp}}{%
color(0bp)=(blue);
color(6bp)=(blue!90!black);
color(20bp)=(black!75!blue);
color(30bp)=(black!85!blue)}
\begin{tikzpicture}
\begin{scope}
\clip (-1,0) circle (1cm);
\draw [fill=black!70] (0, 0) circle (1cm);
\begin{scope}[transform canvas={xshift=-1cm, rotate=45}]
\shade [shading=new] (0.00,0.50) ellipse (1.75 and 1.55);
\end{scope}
\node (nodename) at (-1, 0) [circle, minimum size = 2cm] {tikz};
\end{scope}
\end{tikzpicture}